|
Daniel,
Em Java, tanto faz voc�
declarar String[][][] , []String[][], [][]String[] . Lembre-se que, independente de ser array de 'array de array'
ou 'array de array' de array ou algo parecido, o que voc� tem � um conjunto
de elementos que possuem um nome em comum e que s�o indexados por 3 �ndices.
[]'s
Luiz Reginaldo
----- Original Message -----
Sent: Friday, January 24, 2003 5:19
PM
Subject: Re: [java-list] Nova
Duvida
J� que n�o tive uma resposta satisfat�ria a minha
duvida, fiquei pensando a respeito disso e chequei a uma conclus�o
intuitiva.
Estou apenas come�ando a estudar Java e
gostaria que alguem me corrigisse se estiver errado ou
confirmar se estou certo.
Quando declaro String[][] z[] o Java entende que eu quero um " array de
'array de array' ", portanto para z ele aloca mem�ria para referenciar um
String[][][], e quando eu utilizo o new para
inicializar z eu ja estou trabalhando com uma refer�ncia para String[][][], portanto devo
utilizar os cochetes nessa ordem.
-----Mensagem
Original-----
Estava respondendo a uma d�vida da Rita Fernandes
quando me deparei com algo inesperado!
O c�digo abaixo funciona, mas aqui fica uma
d�vida minha, talv�z alguem possa responder:
quando eu declaro um array escrevo
String z[] - Tipo refer�ncia[]; e inicializo com - new String[4] - Tipo[tamanho];
No c�digo eu quero criar um array z[4][3][3],
portanto declaro
String[][] z[] - Tipo(String[][]) refer�ncia[]; e no meu ponto de vista deveria inicializar
com - new String[][][4], ou pelo menos
String[3][3][4], para
manter o padr�o Tipo[tamanho] - mas o
compilador aceita apenas String[4][3][3], oque seria Tipo[tamanho][][]
Isso n�o foge a sintaxe do
Java?
import javax.swing.*;
public class Array3 {
public static void main (String
arg[]){ //declara��o de vari�veis String saida =
""; int k,i,j;
String[][] z[] = new
String[4][3][3];
//atribuir valores for
(k=0; k<4; k++){ for (i=0; i<3;
i++){ for (j=0; j<3;
j++){ z[k][i][j] =
"["+k+"]["+i+"]["+j+"]";}}}
for (i=0; i<3;
i++){ for (k=0; k<4;
k++){ for (j=0; j<3;
j++){ saida +=
z[k][i][j]+",";} saida += "
";} saida += "\n";}
//saida na
tela JOptionPane.showMessageDialog(null,saida); System.exit(0); } }
|