在Java中,要生成不重復的隨機數(shù),可以使用java.util.Set
集合來存儲已經(jīng)生成的隨機數(shù),因為集合中的元素不允許重復。以下是一個示例代碼:
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; // 生成不重復隨機數(shù)的數(shù)量
Set<Integer> uniqueRandomNumbers = generateUniqueRandomNumbers(min, max, count);
System.out.println("生成的隨機數(shù)為: " + uniqueRandomNumbers);
}
public static Set<Integer> generateUniqueRandomNumbers(int min, int max, int count) {
if (count > (max - min + 1)) {
throw new IllegalArgumentException("隨機數(shù)的數(shù)量不能大于給定范圍內的整數(shù)數(shù)量");
}
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
方法,該方法接受三個參數(shù):最小值、最大值和要生成的隨機數(shù)的數(shù)量。我們使用HashSet
來存儲生成的隨機數(shù),因為集合中的元素不允許重復。當集合的大小達到所需的隨機數(shù)數(shù)量時,循環(huán)結束,返回包含不重復隨機數(shù)的集合。