У меня есть два набора битов, которые должны быть инициализированы случайным образом длиной 20 бит.
Я пытаюсь добиться этого, инициализируя битовые наборы по 20 бит каждый и в цикле for, проходящем по битовым наборам, и вызываю nextBoolean () из класса Random.Однако длина не всегда равна 20. Итак, я поиграл с этим и решил, что это может быть потому, что он не считает ложные биты частью длины.Если я правильно понимаю, как заставить всегда иметь 20 случайных битов?
public static void generate() {
BitSet set1 = new BitSet(20);
BitSet set2 = new BitSet(20);
Random r = new SecureRandom();
for (int i = 0; set1.length() < 20 && set2.length() < 20; i++) {
set1.set(i, r.nextBoolean());
set2.set(i, r.nextBoolean());
}
StringBuilder s = new StringBuilder();
for (int i = 0; i < set1.length(); i++) {
s.append(temp1.get(i) == true ? 1 : 0);
}
System.out.println(s + " " + s.length() + " " + set1.length() + " "+ set2.length());
}
Заранее спасибо.