gpt4 book ai didi

Java:A类中的队列

转载 作者:行者123 更新时间:2023-11-29 04:56:41 25 4
gpt4 key购买 nike

我创建了一个类 Book,它有一个我创建的另一个类 Employees 的队列,如下所示...

class Employee{
String name;
int waiting_time;
int retaining_time;
int priority;

public Employee()
{
this.waiting_time=0;
this.retaining_time=0;
}

//getters and setters ommitted to save space

public void setPriority()
{
priority = waiting_time - retaining_time;
}

public int getPriority()
{
return priority;
}
}

class Book{
String name;
LocalDate start_date;
LocalDate end_date;
boolean archived;
Queue<Employee> Employees ;

public Book()
{

}

//getters and setters for end_date, start_date, archived ommitted to save space

public void setQueue(Queue<Employee> qa)
{
Employees = qa;
}

public Queue<Employee> getQueue()
{
return Employees;
}

当我尝试将 Employee 添加到 Book 的 队列时...

public static void addEmployee(String aName, ArrayList<Book> booksToCirculate, ArrayList<Employee> employeeArray)
{
Employee anEmployee = new Employee();
anEmployee.setName(aName);
employeeArray.add(anEmployee);
for (Book b : booksToCirculate)
{
b.getQueue().add(anEmployee); //adds employee to each queue, where the error is at
}

}

我在尝试将员工添加到队列时收到 NullPointerException 错误,我似乎无法弄清楚为什么,我已经阅读了我的书,看起来好像我'已经根据他们拥有的狗和狗玩具的示例完成了。非常感谢任何关于我哪里出错的建议!

此外,如果您对我的代码有任何疑问,请询问,我在类和对象方面相当陌生,但我会尽力解释自己!

最佳答案

看来您需要创建队列。因为你没有,它默认为 null。因此:

b.getQueue()

正在返回 null

所以当你打电话

b.getQueue().add(...)

您正在尝试调用导致异常的 null 方法。

如果是这种情况,那么解决方案是在 Book 构造函数中创建队列:

public Book()
{
Employees = new Deque<Employee>(); // pick an implementation of the Queue interface
}

关于Java:A类中的队列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33534377/

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