Java实现随机生成不重复数的方法
1. 流程图
下面是实现随机生成不重复数的整体流程图:
pie
title 生成不重复数的流程
"初始化" : 1
"生成随机数" : 2
"检查是否重复" : 3
"重复,重新生成" : 4
"不重复,添加到结果列表" : 5
"继续生成直到满足条件" : 6
2. 实现步骤
按照上面的流程图,我们可以将实现步骤分为以下几个步骤:
- 初始化一个结果列表,用于存储不重复的随机数。
- 生成一个随机数。
- 检查该随机数是否已经存在于结果列表中。
- 如果已经存在,则回到步骤2重新生成随机数。
- 如果不存在,则将该随机数添加到结果列表中。
- 重复步骤2-5直到满足要求的个数。
3. 代码实现
下面是具体的代码实现,使用注释标识了每一行代码的作用:
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;
public class RandomGenerator {
public static List<Integer> generateUniqueRandomNumbers(int count, int min, int max) {
List<Integer> result = new ArrayList<>(); // 初始化结果列表
Random random = new Random();
while (result.size() < count) { // 继续生成直到满足要求的个数
int randomNumber = random.nextInt(max - min + 1) + min; // 生成随机数
if (!result.contains(randomNumber)) { // 检查是否重复
result.add(randomNumber); // 不重复,添加到结果列表
}
}
return result;
}
public static void main(String[] args) {
List<Integer> randomNumbers = generateUniqueRandomNumbers(10, 1, 100);
System.out.println(randomNumbers);
}
}
4. 结果展示
运行上述代码,将会得到一个包含10个1到100之间不重复随机数的列表,例如:
[45, 16, 92, 8, 77, 51, 35, 95, 29, 63]
以上就是实现Java随机生成不重复数的方法,希望对你有所帮助!