欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-02-14 10:14:28
第一次写技术博客,写一下以前写的一个双色球抽奖随机算法。 原理如下: 1首先初始化一个待抽奖的数组nums,数组的长度k 2. 随机一个1-k之间的随机数,得到num...

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

原理如下:

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();

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

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