2014-02-24 27 views
0


我有以下问题。添加数据时发生NullPointerException - Java

我正在执行BST - 二进制搜索树。
假设我有3个班级:员工节点
我正在尝试从节点类到员工类元素(字段)。

下面是一些代码:

Employee类

public class Employee 
{ 
    public String name; 
    public int age; 
} 


Node类

public class Node 
{ 
    public Employee empl; 

    public Node left; 
    public Node right; 
} 


树类

public class Tree 
{ 
    private Node root; 

    public Tree() 
    { 
     root = null; 
    } 
    public void insert() 
    { 
     Node newNode = new Node(); 

     Scanner readName = new Scanner(System.in); 
     newNode.empl.name = readName.nextLine(); 

     Scanner readAge = new Scanner(System.in); 
     newNode.empl.age = readAge.nextInt(); 

     // Add to the tree code 
     // ... 
    } 
} 

所以,问题是,当我加入其命名为给我一个错误

java.lang.NullPointerException 
at Node.<init>(Node.java) 
at Tree.insert(Tree.java) 
at Tree.menu(Tree.java) 
at Main.main(Main.java) 

也许是因为我没加构造? :/

回答

0

在这种情况下,Employee对象将为空。

newNode.empl.name 
---------^ 

empl是未初始化的Employee对象。

更新Node类,如下:

public class Node 
{ 
    public Employee empl = new Employee(); // Before it was not initialised 

    public Node left; 
    public Node right; 
} 
+0

太感谢你了,可惜我不能给你+1 – user3348027

+0

呵呵呵呵// @ user3348027.Its OKK亲爱的。 – Kick

相关问题