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