import java.io.*;
public class Array {
public static void main(String args[]) {
int i = 0;
int add = 0;
int a[] = {4, 1, 1, -6};
for (i = 0; i < a.length; i++) {
add = add + a[i];
if (add - a[i + 1] == 0) {
System.out.println("exist");
}
}
}
}
我收到如下错误:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4
at Arraylist1.main(Arraylist1.java:21)
答案 0 :(得分:1)
因为您已经在索引中增加了索引:
if (add - a[i + 1] == 0) {
//----------^---^
要解决您的问题,您必须迭代到a.length - 1
而不是a.length
,因为最后一个索引是3,所以当您尝试获取a[3+1]
时,它会抛出ArrayIndexOutOfBoundsException
异常,因为此索引不是退出