我是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);
}
}
提前致谢。
答案 0 :(得分:4)
您需要更改if条件。它必须在您输入null之前终止,而不是在之后。
public String toString(){
if(this.suivant == null)
return(city.toString() + "Fin");
else{
return(city.toString()+"->" + this.suivant.toString());
}
}