所以我正在读取一个文件(包含名称和工资)并插入树中。之后,我正在做一个搜索方法。如果节点存在,它正在工作并打印为true。如何通过工资搜索来打印实际名称和工资?这是我的搜索方法:
public boolean find(int salary) {
Add current = root;
while (current != null) {
if (current.getSalary() == salary) {
return true;
} else if (current.getSalary() > salary) {
current = current.getLeft();
} else {
current = current.getRight();
}
}
return false;
}
这是我的主要方法:
public static void main(String[] args) throws IOException {
BinaryTree bt = new BinaryTree();
bt.readfile();
bt.print(bt.root);
System.out.println();
System.out.println("Find method: return true if a node exits ,else return flase");
System.out.println(bt.find(8900));`
答案 0 :(得分:0)
如果find()
返回一个节点,请为该节点写一个toString()
方法
姓名表达。
示例:强>
@Override
public String toString(){
return this.name + " " + this.salary;
}
为什么会这样:
当System.out.println()
调用您的节点时,它会自动调用内存地址。如果使用自定义方法覆盖此调用,则可以定义打印出的变量。