在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
中,直到達到指定數量的不重復數字。最后,返回生成的數字集合。