Hallo, ich habe die toString()
Methode in meiner eigenen Klasse überschrieben, aber irgendwie ist die Ausgabe nicht genau das, was ich wollte. Entschuldigung für die Anfängerfrage, aber ich kann nicht herausfinden, wo das Problem ist, jeder Hinweis / Hilfe wird sehr geschätzt. Vielen Dank.
Meine Klasse:
public class Country implements Comparable{
private String name;
private String capital;
private int area;
public Country(String a, String b, int c) {
this.name = a;
this.capital = b;
this.area =c;
}
@Override
public String toString(){
return(this.name + " "+ this.capital+" " + this.area);
}
}
Datenstruktur:
private void preorder(BinaryNode a){
if (a != null){
System.out.println(a.toString());
preorder(a.left);
preorder(a.right );
}
}
Anwendung:
BinarySearchTree db = new BinarySearchTree();
Country ob = new Country("Rumänien", "Bukarest", 123);
db.addNewElement(ob);
ob = new Country("Ungarn", "Budapest", 50);
db.addNewElement(ob);
ob = new Country("Vatikanstadt", "Vatikan", 1);
db.addNewElement(ob);
db.printAll();
Ausgabe:
adt.BinaryNode@1e5e2c3
adt.BinaryNode@18a992f
adt.BinaryNode@4f1d0d
EDIT: Korrektur nach dem Hinweis von "chaitanya10" für den Fehler
Datenstruktur:
private void preorder(BinaryNode a){
if (a != null){
System.out.println(a.elm.toString()); // Daten im Knoten zugreifen, nicht den ganzen Knoten.
preorder(a.left);
preorder(a.right );
}
}