无法在java中的BST中插入多个节点

无法在java中的BST中插入多个节点,java,binary-search-tree,Java,Binary Search Tree,Eclipse打印值5,但在“root.right.key”部分得到一个NullPointerException 但是如果我在bstinert方法中添加以下代码: AVLFrom<Integer> s = new AVLFrom<Integer>(); s.insert(5); s.insert(10); System.out.println(root.key); System.out.println(root.right.key);

Eclipse打印值5,但在“root.right.key”部分得到一个NullPointerException

但是如果我在bstinert方法中添加以下代码:

AVLFrom<Integer> s = new AVLFrom<Integer>();

        s.insert(5);
        s.insert(10);
System.out.println(root.key);
System.out.println(root.right.key);
Eclipse打印5和10

我不知道为什么会发生这种情况,因为如果v和v.right正确地打印5和10,当我返回v并将其分配给变量“root”时,在尝试打印root.right时,它不应该得到NullPointerException错误。我将感谢任何帮助

在我看来,当在BSTinsert方法中返回v时,所有“连接”到BSTinsert中传递的根节点的节点都不会说已连接/已附加。我不知道为什么会这样


谢谢

天啊,我只是觉得我意识到了错误。当我插入5时,在插入函数中,我在插入第二个元素之前打印了root和root

NPE在第一次插入时出现,其中
root。right
为空。以下修改将解决此问题

System.out.println(v.key);
System.out.println(v.right.key);
System.out.println(v.key);
System.out.println(v.right.key);
System.out.println(root.right != null ? root.right.key : "");