ciao! ho scritto una classe in java, una lista concatenata con inserimento in ordine, quando lancio toString purtroppo mi da un ciclo infinitoper farvi capire esattamente dove, o scritto "CICLO INFINITOO"... non riesco proprio a capire come mai mi dia questo tipo di errore! il codice è ben leggibile in modo comodo qui http://pastebin.com/KMjn3THv
oppure ve lo posto qui sotto se non avete voglia di spostarvi
public class ListaOrdLC {//costruisce una Lista ordinata
private Elemento primo = null;
private int num; //numero di elementi di ogni singola Lista
public boolean isEmpty() {
if (primo==null) return true;
else return false;
}
public void insordine(String nome){//inserisce in ordine un nome
Elemento tmp = primo;
Elemento prec= null;
if(isEmpty()){//se è vuota si aggiunge in testa
Elemento target = new Elemento();
target.info = nome;
target.next = null;
primo = target;
}
else {//se non è vuota si trova la posizione corretta e si inserisce
while (tmp= null && att.info.compareTo(nome)<=0) {
prec = tmp;
tmp = tmp.next;
}
Elemento target = new Elemento();
target.info = nome;
if(tmp==primo){ // il primo
nuovo.next=primo;
primo=nuovo;
}
else { //centrale o ultimo
nuovo.next=prec.next;
prec.next=nuovo;
}//fine if
private class Elemento {//nodo della lista concatenata
String info;
Elemento next;}
public String toString(){
String mex = "\n\nla lista contiene " + num+ " elementi\n" + "stampa degli elementi:\n";
Elemento tmp=primo;
if(primo == null) {//se la lista è vuota
mex= mex + "lista vuota";
}
else{//altrimenti, se la lista ha elementi stamparli
while (tmp!=null) {
System.out.println("CICLO INFINITOOOOOOOOOOOOO");
mex = mex + tmp.info + "\n";
tmp = tmp.next;
}
}//else
return mex +"\n\n";
}
}//fine ListaOrdLC

per farvi capire esattamente dove, o scritto "CICLO INFINITOO"... non riesco proprio a capire come mai mi dia questo tipo di errore! il codice è ben leggibile in modo comodo qui
Rispondi quotando