Olá a todos,
estou desenvolvendo um programa que cria um grafo de todos os estados possíveis para um jogo da velha. No decorrer do desenvolvimento estou com o seguinte código:
[code]
int[] elemento = new int[9];
List ars = new ArrayList();
List estagios = new ArrayList();
int i = 0;
//Cria todos os elementos possíveis
for(int um = -1; um < 2; um++){
for(int dois = -1; dois < 2; dois++){
for(int tres = -1; tres < 2; tres++){
for(int quatro = -1; quatro < 2; quatro++){
for(int cinco = -1; cinco < 2; cinco++){
for(int seis = -1; seis < 2; seis++){
for(int sete = -1; sete < 2; sete++){
for(int oito = -1; oito < 2; oito++){
for(int nove = -1; nove < 2; nove++){
elemento[0] = um;
elemento[1] = dois;
elemento[2] = tres;
elemento[3] = quatro;
elemento[4] = cinco;
elemento[5] = seis;
elemento[6] = sete;
elemento[7] = oito;
elemento[8] = nove;
Elemento e = new Elemento(elemento);
estagios.add(e);
if(i > 1200)
System.out.println(estagios.get(6) +"\n"+ estagios.get(7));
//System.out.println(e.toString());
System.out.println(estagios.get(i)+" , valor de i= "+ i+"\n");
i++;
}
}
}
}
}
}
}
}
}[/code]
Todos os elementos de impressão acima são apenas para que eu possa testar e ver se os elementos estão sendo gravados de forma correta no arraylist, o problema é que os elementos estão sendo gerados corretamente, porém, ao amazenar no arraylist, todos os elementos deste estão sendo gravados como o último elemento que entrou. Por exemplo, segue um trecho da impressão gerada por este código:
(1,1,1,1,1,1,1,1,-1)
(1,1,1,1,1,1,1,1,-1)
(1,1,1,1,1,1,1,1,-1) , valor de i= 19680
(1,1,1,1,1,1,1,1,0)
(1,1,1,1,1,1,1,1,0)
(1,1,1,1,1,1,1,1,0) , valor de i= 19681
(1,1,1,1,1,1,1,1,1)
(1,1,1,1,1,1,1,1,1)
(1,1,1,1,1,1,1,1,1) , valor de i= 19682
sendo que eu queria que a impressão fosse:
(Um elemento armazenado na posição 6 da lista)
(Um elemento armazenado na posição 7 da lista)
(1,1,1,1,1,1,1,1,-1) , valor de i= 19680
(Um elemento armazenado na posição 6 da lista)
(Um elemento armazenado na posição 7 da lista)
(1,1,1,1,1,1,1,1,0) , valor de i= 19681
(Um elemento armazenado na posição 6 da lista)
(Um elemento armazenado na posição 7 da lista)
(1,1,1,1,1,1,1,1,1) , valor de i= 19682
Ou seja, o resultado final desta lista é que todos os elementos são: (1,1,1,1,1,1,1,1,1), ao invés de serem diferentes, ou todas as combinações possíveis.
Conto com vocês.