报错显示加粗的代码有错,请指教,错在哪里?

引用
package shuzu;

import java.util.Arrays;
public class E {

    public static void main(String[] args) {
        System.out.println("初始数组:");
        int a[][] =  new int[5][8];
        for (int i= 0; i < a.length; i++) {
            for (int j = 0; j <a[i].length; j++) {
                a[i][j] = (int)(Math.random()*100);
                System.out.print(a[i][j]+ "\t");
            }
            System.out.println();
        }
        System.out.println("调整数组:");
      int b[]=new int[40];
      for (int i = 0; i < a.length; i++) {
      System.arraycopy(a[i], 0, b, i*8, 8);
    }

      Arrays.sort(b);
      System.out.print(Arrays.toString(b));
      System.out.println();
      System.out.println("还原数组:");
      for (int i = 0; i <=5; i++) {
      //就是下面这一行
     ** System.arraycopy(b,i*8, a[i], 0, 8);**
    System.out.println();
    
    System.out.print(Arrays.toString(a[i]));
    }

         }
        }


----------

阅读 1.4k
1 个回答

a 的长度只有5,a[5]数组下标越界。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题