第一次寫技術博客,寫一下以前寫的一個雙色球抽獎隨機演算法。
原理如下:
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);很簡單,將結果輸出即可~
#
以上是用Java實現的雙色球抽獎隨機演算法實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!