随机生成一注双色球号码 - - (要求同色号码不重复 )

知识点:

new Random() . next( 33): 产生一个 0-33 (含0不含33) 的随机数
所以+1之后 , 就变成了 1-34( 1 - 33);
HashSet集合:存储不重复的元素.
add( E element) 往集合中添加指定元素.
增强for循环:因为不能使用索引,所以用增强for循环.

/*
  双色球规则:双色球每注投注号码由6个红色球号码和1个蓝色球号码组成。
            红色球号码从1—33中选择;
            蓝色球号码从1—16中选择;
            请随机生成一注双色球号码。(要求同色号码不重复)

 */
public class Test12_HashSet_$ {
    public static void main(String[] args) {
        // 创建一个集合 -- HashSet(元素不重复)
        HashSet<Integer> set = new HashSet<>();

        // 红色6个号码 .
        // 创建一个Random随机数 .
        Random r = new Random();

        /*  方法二:
            for (int i = 0; i < 6; i++) {
                int s1 = r1.nextInt(33)+1;
                if(!set.contains(s1)){
                    set.add(s1);
                }else {     
                    i -- ;   // 如果重复了, 就重新执行当前i .
                }
            }
        */
        // 方法一:
        // 因为是HashSet集合,不能存重复元素,
        // 所以当集合长度 = 5 && 元素不重复 的时候 , 就可以了.
        while (set.size() < 6){
            int redBall = r.nextInt(33) + 1;
            set.add(redBall);
        }

        System.out.println("双色球中奖号码为:");
        System.out.print("红球是:");
        // 使用增强for循环遍历输出.
        for (Integer i : set) {
            System.out.print(i+" ");
        }
        // 蓝色球
        int blueBall = r.nextInt(16) + 1;
        System.out.println();
        System.out.println("蓝球是:"+blueBall);
    }
}

运行结果如下:
这里写图片描述

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值