在Java中实现简单的链表

时间:2018-03-27 14:04:32

标签: java algorithm linked-list

我是Java的新手,并尝试在Java中实现一个简单的链表(我知道有一个特殊的类),并且在类的Tour的toString()方法中遇到问题。它假设是一个递归方法。

public class Tour {
    private Ville city;
    private Tour suivant;

    public Ville getVille() {
        return(city);
    }

    public Tour getSuivant() {
        return(suivant);
    }

    public void setVille(Ville laVille) {
        city = laVille;
    }

    public void setSuivant( Tour leSuivant) {
        suivant = leSuivant;
    }

    public String toString(){
        if(this == null) {
            return("Fin");
        } else {
            return(city.toString()+"->" + this.suivant.toString());
        }   
    }
}

主要方法是:

public class Test {
    public static void main(String[] args) {
        Ville v1 = new Ville();
        v1.setNom("tantan");
        v1.setCoordonner(1,5);

        Ville v2 = new Ville();
        v2.setNom("Errachidia");
        v2.setCoordonner(10,6);

        Tour t1 = new Tour();
        t1.setVille(v1);
        t1.setSuivant(null);

        Tour t2 = new Tour();
        t2.setVille(v2);
        t2.setSuivant(t1);

        System.out.println(t2);
    }
}

提前致谢。

1 个答案:

答案 0 :(得分:4)

您需要更改if条件。它必须在您输入null之前终止,而不是在之后。

public String toString(){
    if(this.suivant == null)
        return(city.toString() + "Fin");
    else{
        return(city.toString()+"->" + this.suivant.toString());
    }


}