2014-02-24 40 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

相關問題