Javaによる双色球抽選ランダムアルゴリズムの例
初めて技術ブログを書きます。以前書いた二色球の抽選ランダムアルゴリズムを書いてください。
原理は以下の通りです
1は、最初に1つの抽選対象の行列numsを初期化し、配列の長さk
2.ランダムに1つの1-kの間の乱数を取って、nums【k】を得て、このように第1の抽選番号を得て、numsの中でこの番号を削除して、k--。
3.すべての当選番号がもらえるまで、手順2を繰り返します。
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。
原理は以下の通りです
1は、最初に1つの抽選対象の行列numsを初期化し、配列の長さk
2.ランダムに1つの1-kの間の乱数を取って、nums【k】を得て、このように第1の抽選番号を得て、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();
簡単です。結果を出力すればいいです。以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。