gpt4 book ai didi

java - 无法通过空指针异常从索引 i-1 访问数组

转载 作者:行者123 更新时间:2023-12-02 03:41:43 25 4
gpt4 key购买 nike

我正在研究二维数组。问题其实很简单,但我就是想不出来。当我尝试访问索引 array[i-1][j] 中的值时它抛出空指针异常。虽然对我来说访问像 array[2-1][2] 这样的索引似乎是完全合法的。为什么它不起作用?为什么我无法从一个后向索引访问数组背后是否有任何逻辑,或者我做错了,请解释一下。

声明和初始化数组的代码:

this.Result = new Integer[len][6];

发生空指针异常的代码:

for(int i=0;i<Result.length;i++) {
if(i==0){
Result[i][4]=0;
}
else if(Result[i][1]!=null) {
Result[i][4]=(Result[i-1][2]+Result[i-1][3])+Result[i][2];
}
}

提前致谢,请忽略语法错误。

最佳答案

您正在创建一个包装Integer类型的数组。这意味着所有元素的默认值为 null

在这一行:

Result[i][4]=(Result[i-1][2]+Result[i-1][3])+Result[i][2];

您正在访问可能未初始化的元素,这会导致 NullPointerException

我建议您对数组元素使用原始 int 类型,以避免对 null 执行操作。另一种选择是在尝试访问所有元素并对其执行计算之前将其初始化为值 0

关于java - 无法通过空指针异常从索引 i-1 访问数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36769883/

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