Java 双色球抽号算法的两种实现思路对比

题目:实现双色球彩票随机出号,六个红球,一个蓝球。并顺序输出

双色球规则:

“双色球”彩票投注区分为红色球号码区和蓝色球号码区。

“双色球”每注投注号码由6个红色球号码和1个蓝色球号码组成。

红色球号码从1--33中选择;蓝色球号码从1--16中选择。

两种思路:

  • 随机6个不同的1-33范围内的数字(需要考虑重复问题)
  • 模拟现实生活抽号场景
普通思路(随机数)

6个数需要随机且不能重复,所以需要实现思路,主要是针对红球

  • 创建长度为 6 的数组
  • 循环随机出1-33范围内数字,放入数组
    • 放入时需要先判断是否已经在数组中存在,如果存在,则重新随机。
  • 对数组排序
  • 打印输出

具体代码如下:

    public static void caipiao(){
        Random random = new Random();
        int[] red = new int[6];
        for (int i = 0; i < red.length; ) {
            int rand = random.nextInt(33);//产生一个随机数 
            //放入之前 要把rand和数组中的元素 逐一比较 看是否存在,存在则重新随机

            boolean isExist = false;
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zp8126

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值