要求:打乱一维数组中数据,并按照4个一组的方式添加到二维数组中
```java
int[] tempArr = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
//定义二维数组
int[][] newArr = new int[4][4];
//数组随机不重复,数组角标等于随机数
Random random = new Random();
int temp = tempArr[0];
for (int i = 0; i < tempArr.length; i++) {
int index = random.nextInt(16);
temp = tempArr[i];
tempArr[i] = tempArr[index];
tempArr[index] = temp;
}
**
方法一:
**
//遍历一维数组放到二维数组中,
for (int i = 0; i < tempArr.length; i++) {
newArr[i/4][i%4] = tempArr[i];
}
当i=0 时:i/4 = 0 i%4 =0 所以: newArr[0][0]
当i=1 时:i/4 = 0 i%4 =1 所以: newArr[0][1]
....
....
当i=4 时:i/4 = 1 i%4 =0 所以: newArr[1][0]
.....
当i=8 时:i/4 = 2 i%4 =0 所以: newArr[2][0]
....
newArr[i/4][i%4] = tempArr[i];
方法二:
就是遍历二维数组,将一维数组中的值放到二维数组中
int index = 0;
for (int i = 0; i < newArr.length; i++) {
for (int j = 0; j < newArr[i].length; j++) {
newArr[i][j] = tempArr[index];
index++;
}
}