千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > Java怎么让多个随机数不重复

Java怎么让多个随机数不重复

来源:千锋教育
发布人:xqq
时间: 2023-11-19 01:44:58 1700329498

要生成多个不重复的随机数,可以使用集合(如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

请注意,此方法适用于较小的范围和较小的生成数量。对于更大的范围或需要生成更多不重复随机数的情况,可能需要采用其他算法或数据结构来优化性能。另外,如果指定的范围比生成数量小,那么无法生成足够的不重复随机数。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT