zoukankan      html  css  js  c++  java
  • 双色球抽奖随机算法-Java实现

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

    原理如下:

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

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

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

     1 class myLuck 
     2 {        
     3     private int mTarget;    
     4     List<Integer> mNums = new ArrayList<Integer>(); //摇奖池
     5     
     6     ///从多少个数中产生多少个数
     7     ///例如 33选6 则Source=33,Target=6;
     8     myLuck(int vSource,int vTarget) {        
     9         for (int i = 1; i <=vSource ; i++) {            
    10             mNums.add(i);
    11         }
    12         mTarget=vTarget;
    13     }
    14     
    15     public String GetNums()
    16     {        
    17         String xString="";
    18         for (int i =0;i<mTarget; i++) 
    19         {
    20             int _index=(int)(Math.random()* mNums.size());
    21             xString+=mNums.get(_index)+" ";
    22             //System.out.print("("+(_index+1)+")"+mNums.get(_index)+"-");    
    23             //如何删除一个元素
    24             mNums.remove(_index);
    25         }    
    26         return xString;
    27     }    
    28 }

    调用方式如下:

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

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

    微信:xujianshi2012
  • 相关阅读:
    TUN/TAP区别
    从日志文件解决ArcGIS Server性能低下问题的步骤(1)
    java异常
    Maven
    前车之鉴-web篇
    图论复习总结
    奇(qi)谋(ji)巧(yin)计(qiao)
    莫比乌斯反演呓语
    学习后缀数组笔记
    浅读叶青学长竞赛学习知识目录
  • 原文地址:https://www.cnblogs.com/jsxu/p/6932829.html
Copyright © 2011-2022 走看看