gpt4 book ai didi

出现错误的Java代码

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

当我尝试向 waitingList 添加和订购(之前已使用 Order 类创建)时,我收到此错误:

java.lang.NullPointerException
at DeliveryLog.addOrder(DeliveryLog.java:41)

我正在使用 BlueJ 编写我的 Java 代码。

代码如下:

import java.util.*;
/**
* Write a description of class DeliveryLog here.
*
* @author Stefan Lazic
* @version 1
*/
public class DeliveryLog
{
private Date logDate;
private int numberOfOrders;
private ArrayList<Order> waitingList;
private ArrayList<Order> deliveredList;

/** constructor
* @param dd day
* @param mm month
* @param yy year
*/
public DeliveryLog(int dd, int mm, int yy)
{
//Initialses the log date and sets the default order value to 0
logDate = new Date (dd,mm,yy);
numberOfOrders = 0;
ArrayList<Order> waitingList = new ArrayList<Order>();
ArrayList<Order> deliveredList = new ArrayList<Order>();
}

public int getCallIns(int dd, int mm , int yy)
{
return numberOfOrders;
}

public int getOrdersWaiting()
{
return waitingList.size();
}

public void addOrder (Order order)
{
waitingList.add(order);

}

}

最佳答案

您已在构造函数中重新声明列表引用:-

ArrayList<Order> waitingList = new ArrayList<Order>();
ArrayList<Order> deliveredList = new ArrayList<Order>();

上述语句在构造函数中创建了两个本地列表引用,其作用域仅限于它,并对其进行了初始化。因此,它实际上并没有初始化声明为 实例变量 的列表引用。

现在 DeliveryLog.addOrder() 中使用的 list 引用是声明为 instance variables 的引用,但仍未初始化。

将上面两个构造函数中的初始化改成:-

waitingList = new ArrayList<Order>();
deliveredList = new ArrayList<Order>();

关于出现错误的Java代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13540981/

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