Salve a tutti!
Il mio problema è che durante un ciclo for aggiungo 27 elementi in un ArrayList tramite la funzione add e noto che appena effettuato il 10 inserimento la cpu modifica da sola i primi elementi inseriti nell'arraylist cambiandone a piacimento i valori, e ad altri invece elimina dei campi!! Tutto questo l'ho notato (oltre all'output incorretto) con il debug...Ah uso Eclipse 3.1 e JSDK 5.0...Tengo a sottolineare che il programma si comporta a dovere se inserisco meno di 10 elementi, ma se aumento di uno allora ecco che arriva l'inferno... questo è il codice in questione...
private ArrayList elimina_unit_prod(ArrayList coppie, ArrayList prod, ArrayList non_terminali)
{
ArrayList result = new ArrayList();
for(int i = 0; i < coppie.size(); i++)
{
Coppia c = (Coppia) coppie.get(i);
String a = c.get_a();
String b = c.get_b();
for(int j = 0; j < prod.size(); j ++)
{
Produzione p = (Produzione) prod.get(j);
String testa = p.get_testa();
String corpo = p.get_corpo();
if(testa.equals(b) && appartiene_tutto_a(corpo, non_terminali) && corpo.length() == 1)
{
System.out.println("La produzione "+testa+"->"+corpo+" non viene inserita nel nuovo insieme" +
" di produzioni perché è una unit-production.");
}
else
{
if(testa.equals(b))
{
p.set_testa(a);
System.out.println("La produzione "+a+"->"+corpo+" viene inserita nel nuovo insieme" +
" di produzioni.");
result.add(p);
}
}
}
}
return result;
}
Scritto da: Njk00 on 12/09/2006 17:26:11