首頁  >  文章  >  Java  >  用Java實現的雙色球抽獎隨機演算法實例

用Java實現的雙色球抽獎隨機演算法實例

PHP中文网
PHP中文网原創
2017-06-20 14:32:232052瀏覽

第一次寫技術博客,寫一下以前寫的一個雙色球抽獎隨機演算法。

原理如下:

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

很簡單,將結果輸出即可~

 

#

以上是用Java實現的雙色球抽獎隨機演算法實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn