A lógica do seu array está correta, o problema é o
tamanho, são 15.625 elementos, isso significa que o comando
arrayM[i][j][k][l][m][n] = "["+i+"] ["+j+"] ["+k+"] ["+l+"] ["+m+"]
["+n+"]";
é feito 15.625 vezes e outro tanto para o
comando
output += "
" + arrayM[i][j][k][l][m][n] + " ";
Isso sem contar que cada elemento é um String com
23 caracteres, isso multiplicado por 15.625 significa que seu array
tem 359.375 caracteres e a variável output 390.625, isso significa 750.000
caracteres sendo alocados na memória!!!!!!!!!
Se vc diminuir o tamanho de cada array vc vai ver
que vai rodar muito bem.
----- Original Message -----
Sent: Tuesday, January 28, 2003 6:23
PM
Subject: [java-list] Array Múltiplo
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(); } }
|