Matriz 3x3 ou 3x5

2 respostas
C4sh3w

Amigos,

Por que na matriz abaixo retorna 3x3 ao invés de 3x5? Eu teria que ter todas as colunas da primeira linha preenchida para isso, mesmo tendo a segunda e terceira linha preenchidas com 5 colunas?

public class C0906Matriz {

public static void main (String[] args) {

char[][] ch = {{'A','B','C'}, {'a','b','c','d','e'},{'1','2','3','4','5'}};
  
  System.out.println("Conteúdo da matriz ch:");
  
  for (int i = 0; i < ch.length; i++) {
  	for (int j = 0; j < ch[i].length; j++) {
  		System.out.print("ch["+i+"]["+j+"] = "+ch[i][j]+"\t");
  	}
  	System.out.println();
  }
  
  System.out.println("Posições: " + ch.length+ "x" + ch[0].length);

}
}

Entendo que a representação da matriz acima seria:

A B C
a b c e e
1 2 3 4 5

Logo 3x5 na minha concepção.

Confesso também que não entendi o argumento na parte destacada abaixo. O que seria esse “0” entre colchetes?

System.out.println("Posições: " + ch.length+ “x” + ch[0].length);

Obrigado.

2 Respostas

staroski

Um array bi-dimensional nada mais é do que um array de arrays.
O seu println está exibindo o tamanho da primeira dimensão e o tamanho do array na primeira posição dessa dimensão e realmente ele só possui 3 colunas.
Os arrays da posição 1 e 2 possuem tamanho 5.

C4sh3w

Super entendido. Obrigado.

Criado 23 de agosto de 2017
Ultima resposta 23 de ago. de 2017
Respostas 2
Participantes 2