初めて技術ブログを書くのですが、以前書いた二色玉抽選のランダムアルゴリズムについて書きます。
原理は次のとおりです:
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 }
呼び出しメソッドは次のとおりです:
とても簡単です、結果を出力するだけです~
以上がJavaで実装した2色ボール抽選のランダムアルゴリズムの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。