toString()
こんにちは私は自分のクラスのメソッドをオーバーライドしましたが、どういうわけか出力は私が望んでいたものではありません。初心者の質問で申し訳ありませんが、問題がどこにあるのかわかりません。ヒントやヘルプをいただければ幸いです。ありがとうございました。
私のクラス:
public class Country implements Comparable<Country>{
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);
}
}
DS:
private void preorder(BinaryNode <type> a){
if (a != null){
System.out.println(a.toString());
preorder(a.left);
preorder(a.right );
}
}
アプリ:
BinarySearchTree <Country> db = new BinarySearchTree<Country>();
Country ob = new Country("Romania", "Buc", 123);
db.addNewElement(ob);
ob = new Country("Hungaria", "Bud", 50);
db.addNewElement(ob);
ob = new Country("Vatican", "Vat", 1);
db.addNewElement(ob);
db.printAll();
出力:
adt.BinaryNode@1e5e2c3
adt.BinaryNode@18a992f
adt.BinaryNode@4f1d0d
編集:msitakeの「chaitanya10」ヒントの後の修正
DS:
private void preorder(BinaryNode <type> a){
if (a != null){
System.out.println(a.elm.toString()); // ACCES the data in node not the hole node.
preorder(a.left);
preorder(a.right );
}
}