java生成不碰撞随机数字
时间: 2023-06-13 19:04:22 浏览: 166
Java中可以使用Random类来生成随机数,但是生成不碰撞的随机数字需要一些额外的处理。以下是一种可能的实现方法:
1. 定义一个数组,其中每个元素都是一个布尔值,表示对应的数字是否已经被生成过。
2. 当需要生成一个新的随机数时,使用Random类生成一个随机数,并检查该随机数对应的数组元素是否为true。
3. 如果对应元素为true,说明该数字已经被生成过,需要重新生成随机数。
4. 如果对应元素为false,将该元素设置为true,并将该随机数返回。
以下是示例代码:
```java
import java.util.Random;
public class RandomGenerator {
private boolean[] used = new boolean[1000]; // 用于存储已经生成过的数字
public int generate() {
Random rand = new Random();
int num;
do {
num = rand.nextInt(1000); // 生成0~999之间的随机数
} while (used[num]); // 如果已经生成过,则重新生成
used[num] = true; // 标记该数字已经生成过
return num;
}
}
```
以上代码可以生成0~999之间的不碰撞随机数字。如果需要生成其他范围的随机数字,可以根据需要调整生成随机数的上限和数组大小。
阅读全文