Gabarito disponível
Analise o seguinte programa em Java.
public class Numeros
{
public static void main(String[] args)
{
int i, j;
j=1;
for (i=1; i<5; ++i)
System.out.printf("%d",i);
j+=i;
System.out.printf("%d",j);
}
}
Quais números serão impressos, respectivamente, após a execução desse trecho de programa em Java?
public class Numeros
{
public static void main(String[] args)
{
int i, j;
j=1;
for (i=1; i<5; ++i)
System.out.printf("%d",i);
j+=i;
System.out.printf("%d",j);
}
}
Quais números serão impressos, respectivamente, após a execução desse trecho de programa em Java?
Resolução comentada
O for imprime 1 2 3 4 e depois j = 1 + 5 = 6, resultando em 1 2 3 4 6.
O laço imprime i de 1 a 4 e termina com i = 5. A instrução j += i fica fora do for, então j = 1 + 5 = 6, e imprime-se 6. A saída é 12346.
Análise das alternativas
A e C) O 5 nunca é impresso pelo laço. D) Falta o 6 do final. E) O valor impresso ao final não é 6 depois de 1 2 3, e o laço vai até 4.
Referência: Deitel, Java: Como Programar (2016).
Resolução comentada do VaiConcursos.