java 从1-n中得到m个不重复的随机整数
时间: 2023-06-14 07:07:11 浏览: 62
可以使用Java的Random类生成随机数,并使用Set保证生成的随机数不重复,直到生成m个不重复的随机数为止。代码如下:
```java
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
public class RandomNumbers {
public static void main(String[] args) {
int n = 100;
int m = 10;
Set<Integer> set = new HashSet<>();
Random random = new Random();
while (set.size() < m) {
int num = random.nextInt(n) + 1;
set.add(num);
}
System.out.println(set);
}
}
```
其中,n表示随机数的范围为1到n,m表示要生成的随机数的个数。使用HashSet可以保证生成的随机数不重复。
相关问题
java中使用random随机生成两个不重复的整数
可以使用以下代码生成两个不重复的整数:
```
import java.util.*;
public class RandomNonRepeatIntegers {
public static void main(String[] args) {
Random random = new Random();
Set<Integer> set = new HashSet<>();
while (set.size() < 2) {
set.add(random.nextInt(10)); //范围从0到9
}
Integer[] integers = set.toArray(new Integer[0]);
System.out.println(Arrays.toString(integers));
}
}
```
运行结果可能是:
```
[5, 0]
```
产生n个范围在min-max之间的不重复的随机整数,原样输出,用java中的数组。
可以使用Java中的Random类生成随机数,然后利用HashSet去重,最后将结果存入数组中输出。
以下是示例代码:
```java
import java.util.HashSet;
import java.util.Random;
public class Main {
public static void main(String[] args) {
int n = 10; // 生成10个随机数
int min = 1; // 最小值
int max = 100; // 最大值
Random random = new Random();
HashSet<Integer> set = new HashSet<>(); // 用于去重
while (set.size() < n) {
int num = random.nextInt(max - min + 1) + min; // 生成随机数
set.add(num); // 加入HashSet去重
}
Integer[] arr = set.toArray(new Integer[0]); // 转化为数组
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " "); // 输出数组元素
}
}
}
```
输出结果类似于:
```
34 1 43 23 12 76 98 56 89 67
```