什么是java.lang.ArrayIndexOutOfBoundsException?

时间:2017-09-16 06:52:16

标签: java arrays sorting

嗨,我是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]);
             }

          }
       }
    }

}

2 个答案:

答案 0 :(得分:0)

Java的数组索引从0length - 1。因此,在这种情况下,您应该使用小于运算符<=而不是小于等于运算符<

答案 1 :(得分:0)

问题出在for循环条件中,数组中只有4个元素,数组索引从零开始,所以你的循环必须从0开始到3但是&lt; =运算符检查数组中的第四个索引,这个索引不存在所以只是使用&lt;所以循环在评估最后一个索引后终止