gpt4 book ai didi

Java 类实例(使用 ToString 方法覆盖)输出 "adt.BinaryNode@1e24e45"

转载 作者:搜寻专家 更新时间:2023-11-01 02:29:25 25 4
gpt4 key购买 nike

你好,我已经在我自己的类中覆盖了 toString() 方法,但不知何故输出并不完全是我想要的。对于新手问题很抱歉,但我无法弄清楚问题出在哪里,非常感谢任何提示/帮助。谢谢。

我的类(class):

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

最佳答案

你的方法需要 BinaryNode<type>作为argument ,您正在调用 toStringbrinaryNode<type>不是 COuntry .你有overriden toString()Country不是 BinaryTree .改成

private void  preorder(Country a){
if (a != null){
System.out.println(a.toString());

}
}

override toString() in BinaryNode .

关于Java 类实例(使用 ToString 方法覆盖)输出 "adt.BinaryNode@1e24e45",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13149046/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com