能否只用Random,不用Set
时间: 2024-04-21 20:23:17 浏览: 74
THEPROBABILITYH-THEVIDENCEFUSION.rar_PHD 平滑_random finite set_后
当然可以,你可以使用`Random`类来生成随机数,并通过比较已生成的数字与新生成的数字来确保它们的唯一性。以下是一个示例代码:
```java
import java.util.Arrays;
import java.util.Random;
public class Main {
public static void main(String[] args) {
Random random = new Random();
int[] numbers = new int[5];
for (int i = 0; i < numbers.length; i++) {
int randomNumber = random.nextInt(100); // 生成0到99之间的随机数
// 检查新生成的数字是否与已生成的数字重复
boolean isDuplicate = false;
for (int j = 0; j < i; j++) {
if (randomNumber == numbers[j]) {
isDuplicate = true;
break;
}
}
// 如果重复,则重新生成一个新的随机数
if (isDuplicate) {
i--; // 退回到上一个位置重新生成
} else {
numbers[i] = randomNumber;
}
}
System.out.println("5个不重复的随机数字:");
System.out.println(Arrays.toString(numbers));
}
}
```
在上述代码中,我们使用`Random`类生成随机数,并将其存储在长度为5的整型数组`numbers`中。在每次生成新的随机数时,我们使用一个循环来检查该数字是否与之前已生成的数字重复。如果重复,则退回到上一个位置重新生成,直到找到一个不重复的数字。最后,我们打印出这5个不重复的随机数字。
请注意,这种方法可能会在生成大量随机数时效率较低,因为它需要逐个比较已生成的数字。使用`Set`集合可以更高效地实现不重复随机数的生成,因为`Set`本身就具有去重的特性。
阅读全文