Matriz e sua declaração e inicialização
09/04/2009
0
Pessoal como sempre fico surpreso com essa linguagem.... Agora eu to fazendo um projeto de matriz adjacente. E precisava fazer a inicialização dela desse jeito:
000
000
000
Ai fiz o codigo e seu teste. Funcionou corretamente!!! Mas a minha duvida é porque java não aceita essa declaração e inicialização de matriz?
Eu fiz estes dois codigos abaixo para melhorar o entendimento. O primeiro funcionou que é uma beleza!
E o segundo deu uma exception muito louca.
NullPointerException
Alguem tem alguma ideia disso?
grato!!!
int [][]matriz = new int[3][];
int [][]matriz = new int[3][3]; for(int i=0; i<matriz.length; i++){ for(int j=0; j<matriz[i].length; j++){ matriz[i][j]=1; System.out.print(matriz[0][j]); } System.out.println(matriz[i][0]); }
int [][]matriz = new int[2][]; for(int i=0; i<matriz.length; i++){ for(int j=0; j<matriz[i].length; j++){ matriz[i][j]=5; System.out.print(matriz[0][j]); } System.out.println(matriz[i][0]); }
Sniffer007
Curtir tópico
+ 0
Responder
Post mais votado
09/04/2009
Oi,
inicializacao seria algo comoou abreviado
O NullPointer é devido ao fato de voce nao ter inicializado a matriz[0]. Lembre-se que no Java näo existe matriz bidimensional e sim um array de um array. equivale a
Deveria ter feito assim ou
ok?
[]]]
int [][]matriz = new int[][] { {0, 0, 0}, {0, 0, 0}, {0, 0, 0} };
int [][]matriz = { {0, 0, 0}, {0, 0, 0}, {0, 0, 0} };
int [][]matriz = new int[2][];
int [][]matriz = new int[][] { null, null};
int[][] matriz = new int[2][3]; // os 6 recebem o valor inicial 0
int [][]matriz = new int[2][]; for(int i=0; i<matriz.length; i++){ matriz[i] = new int[3]; // ou, por exemplo, = { i, i+1, i+2 }; for(int j=0; j<matriz[i].length; j++){ matriz[i][j]=5; System.out.print(matriz[0][j]); } System.out.println(matriz[i][0]); }
Carlos Heuberger
Responder
Clique aqui para fazer login e interagir na Comunidade :)