首頁 > Java > java教程 > 用Java實現的雙色球抽獎隨機演算法實例

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

PHP中文网
發布: 2017-06-20 14:32:23
原創
2094 人瀏覽過

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

原理如下:

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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板