Mgu*_*xd1 3 java arrays nullpointerexception
这是一个问题NullPointerException,我要做的是为我的"pieces"数组中的每个部分设置一个符号(该方法setSymbol存在,并且是一个char值)我知道默认情况下这是null,但我该如何设置我的数组,如果我的"set方法"不起作用?
我的代码尽可能简短
Pieces[][] pzs = new Pieces[7][7];
int i, j;
for(i=0;i<8;i++){
for(j=0;j<8;j++){
pzs[i][j].setSymbol('X')
}
}
Run Code Online (Sandbox Code Playgroud)
我得到这个例外:
线程"main"java.lang.NullPointerException中的异常
Pieces[][] pzs = new Pieces[7][7] 使一个7乘7的数组填充空值:
{{null,null,null,null,null,null,null},
{null,null,null,null,null,null,null},
{null,null,null,null,null,null,null},
{null,null,null,null,null,null,null},
{null,null,null,null,null,null,null},
{null,null,null,null,null,null,null},
{null,null,null,null,null,null,null}}
Run Code Online (Sandbox Code Playgroud)
你想要做的是:
Pieces[][] pzs = new Pieces[7][7];
//no need for int i, j
for(int i = 0; i < pzs.length; i++){ //pzs.length guarantees you won't get an
for(int j = 0; j < pzs[i].length; j++){ //ArrayIndexOutOfBoundsException even if pzs is something different
pzs[i][j] = new Pieces();
pzs[i][j].setSymbol('X')
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:感谢Vulpix建议使用pzs.length
| 归档时间: |
|
| 查看次数: |
374 次 |
| 最近记录: |