Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试填充数组时出现java.lang.NullPointerException错误_Java_Arrays_Nullpointerexception - Fatal编程技术网

尝试填充数组时出现java.lang.NullPointerException错误

尝试填充数组时出现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 =

我试图将二维数组prices[]]中的值(整数)放入数组seatArray[]]中对象的成本变量中。我认为问题在于我试图将prices数组中的值置为空,因为seatArray数组中只有对null的对象引用。我该如何着手解决这个问题

调用构造函数的行:

        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。你能发布更多的代码吗?错误到底是在哪里抛出的?我在格式化命令中的代码时遇到了问题。有没有办法在注释中执行代码块?