2011-12-19 2 views

답변

8

BitSet을 거쳐 Random 클래스의 nextBoolean()을 호출하면됩니다.

4

그런 생성자가 없습니다. 당신이해야 할 일은 비트 셋을 만든 다음 모든 비트를 무작위 값으로 설정하는 것입니다.

+0

제한없는 비트 벡터의 모든 비트를 설정하는 데 시간이 오래 걸릴 것입니다. OP가 설정해야 할 비트 수를 OP가 명시해야한다는 점을 명시 적으로 밝힐 가치가 있습니다. – yshavit

+0

예, 전 고정 길이의 BitSet을 사용하고있었습니다. – Thilo

5

자바 7을 사용하는 경우 Random.nextBytes(byte[])과 랜덤 바이트 배열 다음 동일한 바이트 배열에서 BitSet을 생성하기 위해 정적 BitSet.valueOf(byte[]) 초기화 방법을 사용할 수있다.

Random rnd = new Random(); 
// ... 
byte[] randomBytes = new byte[NUM_BYTES]; 
rnd.nextBytes(randomBytes); 
return BitSet.valueOf(randomBytes); 

아니면 50:50보다 다른 무언가를 할 01 비트의 비율을 원하는 경우, an old SO question of mine을 확인하십시오.

관련 문제