尝试填充数组时出现java.lang.NullPointerException错误
我试图将二维数组prices[]]中的值(整数)放入数组seatArray[]]中对象的成本变量中。我认为问题在于我试图将prices数组中的值置为空,因为seatArray数组中只有对null的对象引用。我该如何着手解决这个问题 调用构造函数的行:尝试填充数组时出现java.lang.NullPointerException错误,java,arrays,nullpointerexception,Java,Arrays,Nullpointerexception,我试图将二维数组prices[]]中的值(整数)放入数组seatArray[]]中对象的成本变量中。我认为问题在于我试图将prices数组中的值置为空,因为seatArray数组中只有对null的对象引用。我该如何着手解决这个问题 调用构造函数的行: SeatChart seatArray = new SeatChart(givenArray); 构造方法: public SeatChart(int[][] prices) { Seat[][] seatArray =
SeatChart seatArray = new SeatChart(givenArray);
构造方法:
public SeatChart(int[][] prices)
{
Seat[][] seatArray = new Seat[9][10];
for(int i = 0; i < 9; i++)
{
for(int j = 0; j < 10; j++)
{
seatArray[i][j].cost=prices[i][j];
}
}
}
public SeatChart(int[]价格)
{
座位[][]海运=新座位[9][10];
对于(int i=0;i<9;i++)
{
对于(int j=0;j<10;j++)
{
海运[i][j]。成本=价格[i][j];
}
}
}
这只是声明数组,而不是使用Seat
对象初始化数组元素
for(int i = 0; i < 9; i++)
{
for(int j = 0; j < 10; j++)
{
// I've used a default Seat() constructor to create the object, in your actual case, it may differ.
seatArray[i][j] = new Seat(); // Initializing each array element with a new Seat object
seatArray[i][j].cost=prices[i][j];
}
}
for(int i=0;i<9;i++)
{
对于(int j=0;j<10;j++)
{
//我使用了一个默认的Seat()构造函数来创建对象,在您的实际情况中,它可能会有所不同。
seatArray[i][j]=new Seat();//使用新的Seat对象初始化每个数组元素
海运[i][j]。成本=价格[i][j];
}
}
这只是声明数组,而不是使用Seat
对象初始化数组元素
for(int i = 0; i < 9; i++)
{
for(int j = 0; j < 10; j++)
{
// I've used a default Seat() constructor to create the object, in your actual case, it may differ.
seatArray[i][j] = new Seat(); // Initializing each array element with a new Seat object
seatArray[i][j].cost=prices[i][j];
}
}
for(int i=0;i<9;i++)
{
对于(int j=0;j<10;j++)
{
//我使用了一个默认的Seat()构造函数来创建对象,在您的实际情况中,它可能会有所不同。
seatArray[i][j]=new Seat();//使用新的Seat对象初始化每个数组元素
海运[i][j]。成本=价格[i][j];
}
}
或者为了清楚起见
Seat seat = new Seat();
seat.setCost(prices[i][j]);
seatArray[i][j] = seat;
或者为了清楚起见
Seat seat = new Seat();
seat.setCost(prices[i][j]);
seatArray[i][j] = seat;
这就解决了编译错误!但是现在当我运行我的程序时,仍然有一个空指针错误。(每当它必须引用数组中的对象时,就会发生这种情况。)您知道这是为什么吗?(我仍然不认为这些对象还没有被初始化。)这就是原因。您需要创建一个新的Seat对象并将其分配给数组的每个元素。它仍然不起作用。我已经有了确切的代码,但我仍然不断得到一个nullpointer异常(但现在是在运行时)。当我运行涉及访问数组对象的代码时,我遇到了问题。我不知道它现在会在哪里抛出NPE。你能发布更多的代码吗?错误到底是在哪里抛出的?我在格式化命令中的代码时遇到了问题。有没有办法在注释中执行代码块?这就解决了编译错误!但是现在当我运行我的程序时,仍然有一个空指针错误。(每当它必须引用数组中的对象时,就会发生这种情况。)您知道这是为什么吗?(我仍然不认为这些对象还没有被初始化。)这就是原因。您需要创建一个新的Seat对象并将其分配给数组的每个元素。它仍然不起作用。我已经有了确切的代码,但我仍然不断得到一个nullpointer异常(但现在是在运行时)。当我运行涉及访问数组对象的代码时,我遇到了问题。我不知道它现在会在哪里抛出NPE。你能发布更多的代码吗?错误到底是在哪里抛出的?我在格式化命令中的代码时遇到了问题。有没有办法在注释中执行代码块?