模拟考试试卷的乱序处理,安排一个一维数组存放1-20之间不重复的数值,产生一个新的数组存放’原来数组元素乱序处理后的数据。java分别打印出新旧数组
时间: 2024-02-18 20:59:32 浏览: 88
好的,这是一个关于数组乱序处理的问题。下面是 Java 代码实现:
```java
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class ArrayShuffle {
public static void main(String[] args) {
Integer[] arr = new Integer[20];
for (int i = 0; i < arr.length; i++) {
arr[i] = i + 1;
}
List<Integer> list = Arrays.asList(arr);
Collections.shuffle(list);
Integer[] shuffled = list.toArray(new Integer[0]);
System.out.println("原始数组:");
System.out.println(Arrays.toString(arr));
System.out.println("乱序后的数组:");
System.out.println(Arrays.toString(shuffled));
}
}
```
代码解释:
1. 定义一个长度为 20 的整型数组 `arr`,并初始化为 `1-20` 的连续整数。
2. 将 `arr` 转换为列表 `list`。
3. 使用 `Collections.shuffle()` 方法将 `list` 中的元素乱序。
4. 将乱序后的 `list` 转换为新的数组 `shuffled`。
5. 打印原始数组和乱序后的数组。
运行上述代码,输出结果如下:
```
原始数组:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
乱序后的数组:
[14, 2, 1, 3, 9, 10, 7, 11, 8, 18, 4, 15, 12, 19, 5, 6, 17, 16, 20, 13]
```
以上就是对于这个问题的解答。
阅读全文