引用
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]));
}
}
}
----------
a 的长度只有5,a[5]数组下标越界。