嗨,我是java程序的初学者, 我在常见的排序数组程序中遇到一个异常错误
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr1={4,5,6,8};
int[] arr2={5,4,2,1};
int[] arr3={4,5,3,2};
for(int i=0;i<=arr1.length;i++){
for(int j=0;j<=arr2.length;j++){
for(int k=0;k<=arr2.length;k++){
if(arr1[i]==arr2[j] && arr2[j]==arr3[k])
{
System.out.println(arr3[k]);
}
}
}
}
}
答案 0 :(得分:0)
Java的数组索引从0
到length - 1
。因此,在这种情况下,您应该使用小于运算符<=
而不是小于等于运算符<
。
答案 1 :(得分:0)
问题出在for循环条件中,数组中只有4个元素,数组索引从零开始,所以你的循环必须从0开始到3但是&lt; =运算符检查数组中的第四个索引,这个索引不存在所以只是使用&lt;所以循环在评估最后一个索引后终止