在Java中,要生成不重复的随机数,可以使用java.util.Set
集合来存储已经生成的随机数,因为集合中的元素不允许重复。以下是一个示例代码:
import java.util.HashSet;
import java.util.Set;
import java.util.Random;
public class UniqueRandomNumbers {
public static void main(String[] args) {
int min = 1; // 最小值
int max = 100; // 最大值
int count = 10; // 生成不重复随机数的数量
Set<Integer> uniqueRandomNumbers = generateUniqueRandomNumbers(min, max, count);
System.out.println("生成的随机数为: " + uniqueRandomNumbers);
}
public static Set<Integer> generateUniqueRandomNumbers(int min, int max, int count) {
if (count > (max - min + 1)) {
throw new IllegalArgumentException("随机数的数量不能大于给定范围内的整数数量");
}
Set<Integer> uniqueRandomNumbers = new HashSet<>();
Random random = new Random();
while (uniqueRandomNumbers.size() < count) {
int randomNumber = random.nextInt(max - min + 1) + min;
uniqueRandomNumbers.add(randomNumber);
}
return uniqueRandomNumbers;
}
}
在这个示例中,我们定义了一个generateUniqueRandomNumbers
方法,该方法接受三个参数:最小值、最大值和要生成的随机数的数量。我们使用HashSet
来存储生成的随机数,因为集合中的元素不允许重复。当集合的大小达到所需的随机数数量时,循环结束,返回包含不重复随机数的集合。