Fala.
Olha, embora eu nao aprecie muito solucoes desse tipo, com complexidade maior que n-cubico (a sua eh n-sexta), testei apenas o trecho do seu codigo referente ao array multiplo: //////////////////////////////// public class Teste { public static void main( String args[] ) { String[][][][][][] A = new String[5][5][5][5][5][5]; String output = new String(); System.out.println( "::: " + A.length ); for( int a = 0; a < A.length; a++ ) { for( int b = 0; b < A.length; b++ ) { for( int c = 0; c < A.length; c++ ) { for( int d = 0; d < A.length; d++ ) { for( int e = 0; e < A.length; e++ ) { for( int f = 0; f < A.length; f++ ) { A[a][b][c][d][e][f] = "[" + a + "][" + b + "][" + c + "][" + d + "][" + e + "][" + f + "]"; output = output + A[a][b][c][d][e][f]; System.out.print("."); } } } } } } } } /////////////////////////////// Funcionou :) E mais! Da forma como eu esperava! 5 eh um numero tao pequeno, nao? Pois eh, mas (5)^6 nao! Para ser mais exato, vc estah colocando seu micro para avaliar 15625 concatenacoes de String seguidas de atribuicao. Cara, no meu Athlon XP 1.6 (256 MB de RAM - DDR) foi engracado ficar vendo o grafico de utilizacao de CPU e de memoria RAM :) Claro que havia mais aplicacoes rodando simultaneamente, mas a CPU ficou 5 minutos operando a 100%! Ah! A execucao do java, no inicio, comecou ocupando cerca de 3 MB de RAM (acho que a JVM tava em cache), e, ao final do seu laco, estava com quase 10 MB de RAM ocupados! Ah! Talvez vc obtenha tempos de execucao bem menores, pois um dos fatos que deixou a minha lenta foi a presenca do System.out.print("."); dentro do for mais interno, apenas para eu me certificar de que o codigo nao travava. Mas, de qq forma, nao espere um bom desempenho desse codigo. Nao experimentei escrever a String output. Se vc tiver tempo, execute esse codigo e escreva ela num arquivo (sim, pois eh muuuito grande!). Ao menos vai responder uma duvida que surgiu na lista a respeito do limite dos objetos String. 15625 * 18 = 281.250 caracteres na String! A primeira versao da minha tese de mestrado tem 99.135 caracteres (~90 paginas!). Agora imagina que isso ocupa o dobro de espaco em bytes! 562.500 bytes apenas para uma variavel!!! Como "output" eh uma copia da array, com 2 variaveis vc ocupou mais de 1 MB de memoria! Hehe! Esse serviria como um otimo exemplo para meus professores de "Organizacao e Recuperacao de Informacao" e "Estruturas de Dados"! Bem, seja lah o que vc estiver fazendo, sua pergunta foi respondida: Sim! Seu codigo funciona! Nao ha nada errado com seu array. Desculpe pelos comentarios adicionais. []'s, Bruno do Amaral. "Salvem o Grande Deus Feijao" Assegure-se de que, se sua aplicacao nao responde mesmo, estah procurando o erro no local certo. On Tue, 28 Jan 2003, Halex Maciel wrote: > Caros colegas, > estou tentando criar um array multiplo e não estou conseguindo, >vocês podem me ajudar? Pois ele não apresenta o resultado, não sei se ele está >entrando em laço infinito ou se ele demora mesmo. Agradeço a colaboração de todos. O >código segue abaixo: > > import java.awt.*; > import java.awt.event.*; > import javax.swing.*; > > public class ArrayMultiplo extends JFrame { > private String[][][][][][] arrayM; > private Container c; > private JTextArea txtArea; > private int i,j,k,l,m,n,o; > private String output; > > public ArrayMultiplo() { > setTitle("Array múltiplo"); > setBounds(100,150,500,400); > c = getContentPane(); > c.setLayout(new FlowLayout()); > // > txtArea = new JTextArea(40,50); > c.add(txtArea); > > arrayM = new String[5][5][5][5][5][5]; > > for (i = 0; i < arrayM.length; i++) { > for (j = 0; j < arrayM.length; j++) { > for (k = 0; k < arrayM.length; k++) { > for (l = 0; l < arrayM.length; l++) { > for (m = 0; m < arrayM.length; m++) { > for (n = 0; n < arrayM.length; n++) { > arrayM[i][j][k][l][m][n] = "["+i+"] ["+j+"] ["+k+"] >["+l+"] ["+m+"] ["+n+"]";}}}}}} > > // > for (i = 0; i < arrayM.length; i++) { > for (j = 0; j < arrayM.length; j++) { > for (k = 0; k < arrayM.length; k++) { > for (l = 0; l < arrayM.length; l++) { > for (m = 0; m < arrayM.length; m++) { > for (n = 0; n < arrayM.length; n++) { > output += " " + arrayM[i][j][k][l][m][n] + " ";}}}}}} > > txtArea.append(output); > > // Evento para habilitar o botão fechar da janela > addWindowListener(new WindowAdapter() { > public void windowClosing(WindowEvent e) { > dispose(); > System.exit(0); > } > }); > } > > public static void main(String args[]) { > ArrayMultiplo mainFrame = new ArrayMultiplo(); > mainFrame.show(); > } > } > > ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------