【发布时间】:2017-05-11 18:33:49
【问题描述】:
我正在实现一个具有 3 个类的 BST: BST、BSTNode 和 Profile。
BST 类
public class BST {
private static BSTNode root;
private BSTNode parent;
BST() {
root = null;
}
public void insertProfile(Profile p) {
BSTNode newNode = new BSTNode(p);
if (root == null) {
root = newNode;
} else {
BSTNode focusNode = root;
BSTNode parent = null;
int compare = focusNode.getProfile().getName().compareTo(parent.getProfile().getName());
while (true) {
parent = focusNode;
if (compare < 0) {
focusNode = focusNode.left;
if (focusNode == null) {
parent.left = newNode;
return;
} else {
focusNode = focusNode.right;
if (focusNode == null) {
parent.right = newNode;
return;
}
}
}
}
}
}
}
当我向 BST 添加一个条目时,它似乎工作正常,但是当我向 BST 添加两个或更多条目时,它给了我这个错误:
Exception in thread "main" java.lang.NullPointerException
at BST.insertProfile(BST.java:21)
at BSTMain.main(BSTMain.java:19)
我已经尝试解决这个问题好几个小时了,如果有人能暗示我哪里出错了,将不胜感激。
【问题讨论】:
标签: java eclipse tree binary-search-tree