java随机取数组_java随机从数组中取出指定数目的值
时间: 2024-02-23 14:03:35 浏览: 27
要随机取出数组中的指定数目的值,可以使用Java中的Random类来生成随机数,然后使用数组的下标来获取数组中的元素。
以下是一个示例代码:
```java
import java.util.Arrays;
import java.util.Random;
public class RandomFromArray {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int num = 5; // 需要取出的元素个数
int[] result = new int[num];
Random rand = new Random();
for (int i = 0; i < num; i++) {
int index = rand.nextInt(arr.length - i);
result[i] = arr[index];
arr[index] = arr[arr.length - i - 1];
}
System.out.println("随机取出的" + num + "个元素为:" + Arrays.toString(result));
}
}
```
代码解释:
1. 定义一个整型数组 `arr`,并给定初始值。
2. 定义一个变量 `num`,表示需要随机取出的元素个数。
3. 定义一个整型数组 `result`,用于存放随机取出的元素。
4. 创建一个 `Random` 对象 `rand`,用于生成随机数。
5. 使用 `for` 循环,循环 `num` 次,每次随机生成一个下标 `index`,并将 `arr[index]` 的值赋给 `result[i]`。
6. 每次循环结束后,将 `arr[index]` 的值与 `arr[arr.length - i - 1]` 的值交换,这样可以避免重复取值。
7. 打印出随机取出的元素。
运行结果如下:
```
随机取出的5个元素为:[10, 6, 8, 2, 1]
```