ciao a tutti ragazzi.. ho questo problema (sul quale sto girando da 2 ore ma non ne vengo a capo..), sono sicuro che sia una stupidaggine.. ma non la riesco a cogliere!
allora:
ho una classe nodo:
codice:
class nodo{
persona info;
nodo link;
}
la classe persona ha 3 campi: cognome nome ed anno,
e una clase lista, quando inserisco cognome nome ed anno di nascita mi crea la persona e ci associa i valori, poi richiama rubrica.add(); che e' questa:
codice:
public void add(persona nuova_persona){
if(start==null){
start=new nodo();
start.info=nuova_persona;
start.link=null;
}
else{
nodo new_nodo=new nodo();
new_nodo.info=nuova_persona;
nodo attacco=check_posizione(nuova_persona);
if(attacco==start){new_nodo.link=attacco.link;System.out.println("ATTACCO == START LINK => new_nodo.link=attacco.link");}
else{new_nodo.link=attacco.link;}
if(attacco==start){start=new_nodo;System.out.println("ATTACCO == START => attacco=new_nodo");}
else{attacco=new_nodo;}
}
}
la parte in grassetto e' questa funzione:
codice:
private nodo check_posizione(persona nuova){
nodo precedente, successivo, posizione;
precedente=start;
successivo=start;
posizione=start;
if(check_cognome(nuova,start)<=0){posizione=start;return posizione;}
else{
precedente=successivo;
successivo=start.link;
while(successivo!=null && check_cognome(nuova,successivo)>0){
precedente=successivo;
successivo=successivo.link;
}
if(successivo==null){posizione=successivo;return posizione;}
else if(check_cognome(nuova,successivo)<=0){posizione=precedente;return posizione;}
}
return posizione;
}
e' tutto abbastanza semplice, ma NON FUNZIONA! 
se ad esempio inserisco prima Rossi Mario 9999 e poi inserisco Bianco Marco 9999 quando vado a stampare tutta la lista mi stampa solo Bianco Marco, come se non funzionasse "attacco.link".... ma quando lo lancio i debug che ho messo per controllare funzionano..quindi l'associazione la fa', ma nn sembra.... qualcuno ha qualche idea? 
grazie in anticipo