gpt4 book ai didi

java 数组越界异常

转载 作者:行者123 更新时间:2023-12-01 09:29:59 34 4
gpt4 key购买 nike

public static int[] squeeze(int[] ints) {
int i;
int[] temp;
temp = new int[100];

for (i = 0; i < ints.length; i++) {
if (ints[i] != ints[i + 1]) {
temp[i] = ints[i];
}
else{
while (ints[i] != ints[i + 1]) {
i++;
}
temp[i] = ints[i];
}
}

return temp;
}

当我运行此代码时,它给出了 arrayOutOfBoundException。任何人都可以指出错误吗?我基本上是检查数组中没有两个连续的数字是相同的,然后打印相同的数组,但如果两个连续的数字相同,则打印下一个数字的副本。

最佳答案

什么时候

i == ints.length-1

支票

ints[i] != ints[i + 1]

将给出一个错误,因为

ints[i + 1]

不存在。

array.length 给出数组中元素的数量,而数组的索引从 0 开始,而不是从 1 开始。因此数组的元素 array[array.length ] 永远不会存在,并且总是会给出异常。

关于java 数组越界异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39518714/

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