Construindo arrays Multidimensionais

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!

 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=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)

Desculpem a invasão do tópico, mas para que servem arrays multidimencionais?

um bom exemplo é na contrução de matrizes…

[]'s

Geraldo

Bom senhores…alguém pode me ajudar a entender como se cria esse array de arrays…não manjo muito de java…
Valeu!!!

macariogallagher assim que faz

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 !