Gabarito disponível
public class Matriz
{
public static void main(String[] args)
{
int a[][] = { {1,2}, {3,4}, {5,6} };
for (int i=0; i<=1; i++)
{
for (int j=0; j<=1; j++)
{
System.out.printf("%d",a[j][i]);
}
}
}
}
Assinale a opção que apresenta a saída do programa apresentado acima.
Resolução comentada
O programa imprime a[j][i], percorrendo a matriz por colunas: 1, 3, 2, 4.
Com i=0, j=0 e j=1 imprimem a[0][0]=1 e a[1][0]=3. Com i=1, imprimem a[0][1]=2 e a[1][1]=4. A saída é 1324, o que corresponde à ordem 1 3 2 4. As linhas 3 e 4 da matriz (valores 5 e 6) nunca são acessadas.
Análise das alternativas
A) 1 2 3 4 seria a saída se fosse a[i][j]. B) e D) contêm valores deslocados, inexistentes nesse percurso. E) 3 4 5 6 não corresponde a nenhum acesso feito pelo programa.
Referência: Deitel & Deitel, Java: Como Programar (arrays multidimensionais).
Resolução comentada do VaiConcursos.