0

我需要创建一个树数组并获取用户输入的字母并将其放入节点中。我收到与 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;
        }  
     }
  }
4

1 回答 1

3
Tree forest[] = new Tree[10]; 

上面的语句创建了一个 type 的数组Tree,但它没有将任何Tree实例存储到数组中。因此,您的数组元素将使用默认null值进行初始化。

您需要先初始化数组元素,然后再访问它们。

在你的 for 循环中添加这一行: -

forest[i] = new Tree();

在访问forest[i].root.

于 2012-11-25T20:41:29.123 回答