我是Java新手,尝试在Java中实现一个简单的链表(我知道有一个特殊的类可以实现这个链表),但是toString()方法中的类Tour wich出现了问题,这不起作用它应该是一种递归方法。

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);
    }
}

提前谢谢。

最佳答案

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

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


}

10-05 20:42
查看更多