【问题标题】:java create tree from arrayjava从数组创建树
【发布时间】:2012-11-25 20:40:18
【问题描述】:

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

【问题讨论】:

    标签: java arrays nullpointerexception


    【解决方案1】:
    Tree forest[] = new Tree[10]; 
    

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

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

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

    forest[i] = new Tree();
    

    在访问forest[i].root之前。

    【讨论】:

    • @AndrewLogvinov。啊!谢谢。 :)
    • 你能详细说明一下索引吗?
    • @stevenpepe.. 我之前忘了在forest[] = new Tree() 中添加i。当然,您需要添加它以访问该索引处的数组元素。
    • 现在工作。谢谢你们的帮助。
    猜你喜欢
    • 2011-05-10
    • 1970-01-01
    • 1970-01-01
    • 2016-08-08
    • 1970-01-01
    • 2017-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多