温馨提示×

Java中随机数生成10个不重复数字的方法是什么

小亿
409
2023-08-03 10:56:28
栏目: 编程语言

在Java中,可以使用java.util.Random类来生成随机数,并通过设置种子来确保每次生成的随机数序列是不重复的。下面是一个生成10个不重复数字的方法示例:

import java.util.HashSet;
import java.util.Random;
import java.util.Set;
public class RandomNumberGenerator {
public static void main(String[] args) {
Set<Integer> numbers = generateNonRepeatingNumbers(10, 1, 100);
for (int number : numbers) {
System.out.println(number);
}
}
public static Set<Integer> generateNonRepeatingNumbers(int count, int min, int max) {
if (count > (max - min + 1)) {
throw new IllegalArgumentException("The range between min and max is not sufficient to generate non-repeating numbers.");
}
Set<Integer> numbers = new HashSet<>();
Random random = new Random();
while (numbers.size() < count) {
int number = random.nextInt(max - min + 1) + min;
numbers.add(number);
}
return numbers;
}
}

在上述代码中,generateNonRepeatingNumbers方法接收三个参数:生成的数字数量count、数字范围的最小值min和最大值max。该方法首先检查是否有足够的范围来生成不重复的数字,然后使用HashSet来存储生成的数字,确保它们不重复。接下来,使用java.util.Random类生成随机数,并将其添加到HashSet中,直到达到指定数量的不重复数字。最后,返回生成的数字集合。

0