gpt4 book ai didi

java - Java中如何构造二维数组?

转载 作者:行者123 更新时间:2023-11-29 07:00:12 25 4
gpt4 key购买 nike

我被困在一个非常简单的问题中超过 2 个小时。我正在尝试创建一个二维数组并用构造函数填充它。但是,我无法通过这一步。

public class Test
{
public State [][] test1= new State[4][3];//
public State test2[][]= new State[4][3];//
public State [][]test3;
public State test4[][];

public class State{
int position;
double reward;
int policy;
}

public Test(){
test1[1][1].position=1; // never worked
test2[1][3].position=2; //never worked
test3=new State[4][3];
test3[1][2].position=3; //never worked
test4=new State[4][3];
test4[2][2].position=4;//never worked
}
}

我用下面的代码调用上面的函数

Test test= new Test();
Log.e("done","pass"); //I never reach here. the code always stuck on the constructor.

最佳答案

创建数组时:

public State [][] test1 = new State[4][3];

您正在创建一个可以容纳 4 * 3 个 State 实例的数组,但是数组中的每个位置都被初始化为 null

在访问数组之前,您需要为数组中的每个位置分配一个 State 实例。如果不这样做,您将得到一个 NullPointerException

例如:

public Test()
{
test1[1][1] = new State();
test1[1][1].position = 1;
....
}

关于java - Java中如何构造二维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27377372/

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