0

I need to create an array of trees and take a letter typed by a user and place it into a node. I am getting a NullPointerException error with forest[i].root. How can I fix this?

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 に答える