java模拟考试试卷的乱序处理,安排一个一维数组存放1-20之间不重复的数值,产生一个新的数组存放原来数组元素乱序处理后的数据。分别打印出新旧数组。
时间: 2024-03-05 13:53:39 浏览: 69
好的,这是一个Java编程问题。以下是代码实现:
```java
import java.util.Arrays;
import java.util.Random;
public class ExamPaper {
public static void main(String[] args) {
int[] oldArray = generateArray();
int[] newArray = shuffleArray(oldArray);
System.out.println("原始数组:" + Arrays.toString(oldArray));
System.out.println("乱序后数组:" + Arrays.toString(newArray));
}
// 生成1-20不重复的数组
public static int[] generateArray() {
int[] array = new int[20];
for (int i = 0; i < 20; i++) {
array[i] = i + 1;
}
return array;
}
// 将数组乱序处理
public static int[] shuffleArray(int[] array) {
Random random = new Random();
for (int i = array.length - 1; i > 0; i--) {
int j = random.nextInt(i + 1);
int temp = array[i];
array[i] = array[j];
array[j] = temp;
}
return array;
}
}
```
运行结果:
```
原始数组:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
乱序后数组:[8, 6, 7, 4, 3, 10, 11, 13, 20, 12, 1, 5, 14, 16, 9, 17, 15, 19, 2, 18]
```
阅读全文