gpt4 book ai didi

java - 添加数据时出现 NullPointerException - Java

转载 作者:行者123 更新时间:2023-12-01 13:21:30 24 4
gpt4 key购买 nike


我有以下问题。

我正在实现 BST - 二叉搜索树。
假设我有 3 个类:EmployeeNodeTree
我正在尝试从 Node 类访问 Employee 类元素(字段)。

这是一些代码:

员工类别

public class Employee
{
public String name;
public int age;
}


节点类

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)

也许是因为我没有添加构造函数? :/

最佳答案

在这种情况下,Employee 对象将为 null。

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;
}

关于java - 添加数据时出现 NullPointerException - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21996700/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com