为什么我会收到此异常错误? ArrayOutOfBounds?

时间:2019-12-16 04:57:04

标签: java arrays exception

我正在尝试检查数组中的整数是否在增加。但是我收到ArrayOutOfBounds异常,我不明白为什么。我是编程新手。

for (int i =0; i > newArray.length ; i++){
    if (newArray[i] > newArray[i+1]){
        System.out.println("Not increasing");
    }
}

谢谢您的帮助。

2 个答案:

答案 0 :(得分:0)

假设您的数组长度为8,所以位置是从0到7 在for循环的最后一次运行中,i = 7和i + 1 = 8 您没有newArray [i + 1] 您应该将第一个if放入新的if

if(i<(newArray.length - 1)){
if (newArray[i] > newArray[i+1]){
System.out.println("Not increasing");
}
}

答案 1 :(得分:0)

当您尝试访问数组中不存在的位置时,发生ArrayOutOfBounds异常。

您遇到的问题是newArray[i+1],它试图访问数组中不存在的位置。 我建议编辑条件i < newArray.length-1:当然,还有其他方法可以解决此问题,但这是最简单的。