Olá pessoal! Por que o java aceita fazer a construção de arraymulticamadas assim:
int[][] bob = new int[3][];
Sempre ouvi falar que tem que colocar assim:
int[][] bob = new int[3][3];
Para o for funcionar corretamente! Só que acabei de fazer uma rotina basica de preenchimento na matriz bob[3][3] com o primeiro processo de contrução e funcionou! porque isso ocorreu? Será que JVM tem alguma coisa haver? Grato!
[quote=geraldobarboza] int[][] bob = new int[3][];
isso é aceitavel devido a JVM precisar saber apenas o tamanho do objeto bob, que no seu caso é 3…
[]'s
Geraldo[/quote]
Complementando, com isso, você pode ter uma matriz “destentada”, ou seja:
bob[0] = new int[1];
bob[1] = new int[2];
bob[2] = new int [3];
É que no seu código, vc disse simplesmente que quer um array de inteiros de tamanho 3 que tenha dentro outros arrays de inteiros de tamanho ainda indefinidos!! (frase confusa!!! hehehe)
int[][] arrayDeArray = {{1,2,3}, {4,5,6}};
constroi um objeto que "aponta" para dois arrays.
você acessa eles normal como na maioria das outras linguagem de programação, só lembrando que o index começa em 0(zero) em Java arrayDeArray[0][1] o valor é 2 :) valew espero ter ajudado !