要生成多個不重復的隨機數,可以使用集合(如Set)來保存已生成的隨機數,并在生成新的隨機數時進行判斷。以下是一個示例:
import java.util.*;
pubpc class Main {
pubpc static void main(String[] args) {
int min = 1; // 最小值(包含)
int max = 10; // 最大值(包含)
int count = 5; // 隨機數個數
Set set = new HashSet<>();
Random random = new Random();
while (set.size() < count) {
int randomNumber = random.nextInt(max - min + 1) + min;
if (!set.contains(randomNumber)) {
set.add(randomNumber);
}
}
for (int number : set) {
System.out.println(number);
}
}
}
以上代碼會生成指定個數的不重復隨機數。在循環中,我們使用 random.nextInt(max - min + 1) + min
來生成位于指定范圍內的隨機整數。然后,在將生成的隨機數添加到集合之前,通過 set.contains(randomNumber)
判斷該隨機數是否已存在于集合中,如果不存在,則將其添加到集合中。
輸出:
7
1
9
2
5
請注意,此方法適用于較小的范圍和較小的生成數量。對于更大的范圍或需要生成更多不重復隨機數的情況,可能需要采用其他算法或數據結構來優化性能。另外,如果指定的范圍比生成數量小,那么無法生成足夠的不重復隨機數。