>Java >java지도 시간 >Java로 구현된 이중 색상 공 추첨을 위한 무작위 알고리즘의 예

Java로 구현된 이중 색상 공 추첨을 위한 무작위 알고리즘의 예

PHP中文网
PHP中文网원래의
2017-06-20 14:32:232093검색

기술 블로그를 처음 작성하게 되는데, 이전에 썼던 2색 공 복권의 무작위 알고리즘에 대해 쓰겠습니다.

원리는 다음과 같습니다.

1 먼저 그릴 nums 배열을 초기화합니다. 배열의 길이는 k

2입니다. nums[k]를 얻기 위해 1~k 사이의 임의의 숫자를 무작위로 선택합니다. 첫 번째 복권 번호를 얻습니다. 숫자 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으로 문의하세요.