Java实现双色球抽奖随机算法示例

 更新时间:2017年06月02日 14:07:24   作者:xujianshi  
本篇文章主要介绍了Java实现双色球抽奖随机算法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

第一次写技术博客,写一下以前写的一个双色球抽奖随机算法。

原理如下:

1首先初始化一个待抽奖的数组nums,数组的长度k

2. 随机一个1-k之间的随机数,得到nums【k】,这样得到第一个抽奖号,nums中剔除该号码,k--。

3. 重复步骤2,直到得到全部中奖号码

class myLuck 
{    
  private int mTarget;  
  List<Integer> mNums = new ArrayList<Integer>(); //摇奖池
  
  ///从多少个数中产生多少个数
  ///例如 33选6 则Source=33,Target=6;
  myLuck(int vSource,int vTarget) {    
    for (int i = 1; i <=vSource ; i++) {      
      mNums.add(i);
    }
    mTarget=vTarget;
  }
  
  public String GetNums()
  {    
    String xString="";
    for (int i =0;i<mTarget; i++) 
    {
      int _index=(int)(Math.random()* mNums.size());
      xString+=mNums.get(_index)+" ";
      //System.out.print("("+(_index+1)+")"+mNums.get(_index)+"-");  
      //如何删除一个元素
      mNums.remove(_index);
    }  
    return xString;
  }  
}

调用方式如下:

myLuck _red=new myLuck(33, 6);  
myLuck _blue=new myLuck(16,1);
String Str =_red.GetNums() +","+_blue.GetNums();

很简单,将结果输出即可~

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 8个Spring事务失效场景详解

    8个Spring事务失效场景详解

    相信大家对Spring种事务的使用并不陌生,但是你可能只是停留在基础的使用层面上。今天,我们就简单来说下Spring事务的原理,然后总结一下spring事务失败的场景,并提出对应的解决方案,需要的可以参考一下
    2022-12-12
  • java中多线程与线程池的基本使用方法

    java中多线程与线程池的基本使用方法

    在Java中,我们可以利用多线程来最大化地压榨CPU多核计算的能力,下面这篇文章主要给大家介绍了关于java中多线程与线程池基本使用的相关资料,需要的朋友可以参考下
    2021-09-09
  • 浅谈spring security入门

    浅谈spring security入门

    这篇文章主要介绍了浅谈spring security入门,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Java实现花卉管理系统

    Java实现花卉管理系统

    这篇文章主要为大家详细介绍了Java实现花卉管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • Java C++分别实现滑动窗口的最大值

    Java C++分别实现滑动窗口的最大值

    这篇文章主要介绍了分别通过Java和C++实现滑动窗口最大值,即给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。感兴趣的可以了解一下
    2021-12-12
  • Java实现冒泡排序与双向冒泡排序算法的代码示例

    Java实现冒泡排序与双向冒泡排序算法的代码示例

    这篇文章主要介绍了Java实现冒泡排序与双向冒泡排序算法的代码示例,值得一提的是所谓的双向冒泡排序并不比普通的冒泡排序效率来得高,注意相应的时间复杂度,需要的朋友可以参考下
    2016-04-04
  • Spring JdbcTemplate实现添加与查询方法详解

    Spring JdbcTemplate实现添加与查询方法详解

    JdbcTemplate是Spring框架自带的对JDBC操作的封装,目的是提供统一的模板方法使对数据库的操作更加方便、友好,效率也不错,这篇文章主要介绍了Spring JdbcTemplate执行数据库操作,需要的朋友可以参考下
    2022-11-11
  • Redis command timed out两种异常情况的解决方式

    Redis command timed out两种异常情况的解决方式

    Redis是我们开发中常用的数据库,下面这篇文章主要给大家介绍了关于Redis command timed out两种异常情况的解决方式,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-04-04
  • SpringBoot简单的SpringBoot后端实例

    SpringBoot简单的SpringBoot后端实例

    这篇文章主要介绍了SpringBoot简单的SpringBoot后端实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • Java实现基于TCP的通讯程序实例解析

    Java实现基于TCP的通讯程序实例解析

    这篇文章主要介绍了Java实现基于TCP的通讯程序实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07

最新评论