java从数组创建树

时间:2012-11-25 20:40:19

标签: java arrays nullpointerexception

我需要创建一个树形数组并接受用户输入的字母并将其放入节点中。我在使用forest [i] .root时遇到NullPointerException错误。我该如何解决这个问题?

class TreeApp  
{  
 public static void main(String[] args) throws IOException  
 {  
    Tree forest[] = new Tree[10];  

    Scanner kb = new Scanner(System.in);  

    for(int i = 0; i < 10; i++)  
    {  
        System.out.println("Insert a letter: "); 

        Node newNode = new Node();  
        newNode.iData = kb.next().charAt(0);  

        System.out.println("node: " + newNode.iData );  

        forest[i].root = newNode;
        }  
     }
  }

1 个答案:

答案 0 :(得分:3)

Tree forest[] = new Tree[10]; 

上述语句创建了一个类型为Tree的数组,但它不会将任何Tree个实例存储到数组中。因此,您的数组元素使用默认的null值初始化。

在访问数组元素之前,需要先初始化它们。

在for循环中添加以下行: -

forest[i] = new Tree();

访问forest[i].root之前。