我正在寻找一种将随机位组存储到数组中的方法。下面的代码并不完整,但我只想帮助理解如何随机化一组位。
public static boolean[] makeRandomBits(int size) {
BitSet[] bitArray = new BitSet[size];
for(int i=0; i<size; i++){
bitArray[i].set(/*Right here is where my confusion is*/);
}
/*other stuff below*/
}
我正在寻找输出:01101001
答案 0 :(得分:0)
Random random = new Random();
boolean[] arr = new boolean[size];
for (int i = 0; i < size; ++i) {
arr[i] = random.nextBoolean();
}
return arr;
答案 1 :(得分:0)
课程java.math.BigInteger
提供constructor,可以创建您可以在位级别操作的给定BigInteger
的随机bitLenght
Random r = new Random();
int numBits = 32;
BigInteger bi = new BigInteger(numBits,r);
如果您需要它是BitSet
:
BitSet bs = BitSet.valueOf(bi.toByteArray());
有关详细信息,请查看BigInteger和BitSet javadoc。