用java编译下列问题:一个一维数组存放1-20之间不重复的数值,产生一个新的数组存放原来数组元素乱序处理后的数据。分别打印出新旧数组
时间: 2024-03-20 09:44:39 浏览: 71
好的,以下是Java代码实现:
```java
import java.util.Arrays;
import java.util.Random;
public class ShuffleArray {
public static void main(String[] args) {
int[] arr = new int[20];
for (int i = 0; i < arr.length; i++) {
arr[i] = i + 1;
}
System.out.println("原始数组:" + Arrays.toString(arr));
shuffleArray(arr);
System.out.println("乱序后数组:" + Arrays.toString(arr));
}
private static void shuffleArray(int[] arr) {
Random rand = new Random();
for (int i = arr.length - 1; i > 0; i--) {
int j = rand.nextInt(i + 1);
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
```
输出结果:
```
原始数组:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
乱序后数组:[7, 10, 14, 12, 15, 2, 8, 19, 3, 13, 5, 16, 4, 18, 6, 11, 20, 9, 1, 17]
```
代码解释:
1. 创建一个长度为20的整型数组arr,用于存放1-20之间的不重复的数值。
2. 使用for循环将1-20的数值存入数组arr中。
3. 使用Arrays.toString()方法将数组arr转化为字符串并打印输出原始数组。
4. 调用shuffleArray()方法对数组arr进行乱序处理。
5. 使用Arrays.toString()方法将数组arr转化为字符串并打印输出乱序后的数组。
6. shuffleArray()方法通过Random类生成随机数,将数组arr进行乱序处理。
希望能够解决您的问题。
阅读全文