gpt4 book ai didi

java - 从 3 中减去最后一个元素时出现 ArrayIndexOutOfBoundsException

转载 作者:行者123 更新时间:2023-12-01 22:12:10 26 4
gpt4 key购买 nike

有人可以尝试解决这个问题吗

ArrayIndexOutOfBoundsException

当尝试从 3 中减去最后一个元素时,如果结果不存在,那么它应该返回结果的下一个元素。

public static int[] returnNum(){
int[] numbers = {1,2,4,6,8,10};
int[] num = {};
for(int i = numbers.length-1; i > 0; i--){
if(numbers[i]-3 == numbers[i-1]){
num[numbers.length-1-i] = numbers[i-1];
}else{
num[numbers.length-1-i] = numbers[i-1];
}
}
return num;
}
public static void main(String[] args) {
System.out.println(Test.returnNum());
}

最佳答案

您的数组“num”被初始化为大小为 0 的空数组 (“{}”)。

尝试在 if 的任何位置的 else 分支中访问它都会抛出 IndexOutOfBound。

else{
num[numbers.length-1-i] = numbers[i-1];
}

(注意:这对于 if 的主分支也是如此,只是在给定静态初始化示例的情况下从未达到过)。

一旦初始化了数组,就无法动态向其中添加内容。如果这是您的用例,您应该查看 List data structure

关于java - 从 3 中减去最后一个元素时出现 ArrayIndexOutOfBoundsException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31615106/

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