Я искал эту вещь последние пару дней и наткнулся на наиболее рекомендуемое решение с использованием «метода BitSet». Я попробовал то же самое, чтобы установить индекс бита и отобразить его с помощью метода get.
Вот мой код:
int value = (myMap.get(key)); // value could be anything from 0-255
if (items.contains(key)) {
BitSet bitSet1 = new BitSet(256);
bitSet1.set(value);
System.out.print(bitSet1);
for (int i5 = 1; i5 < bitSet1.size(); i5++) {
boolean bit = bitSet1.get(i5);
System.out.print(bit?1:0);
}
}
Проблема в том, что в соответствии с операцией пользователя может быть любое значение от 0 до 255, например: 40,85,93.
Я хочу установить соответствующий битовый индекс в логическом массиве. Приведенный выше код устанавливает соответствующий индекс бита равным «1», но если индексов больше 1, то же количество логических массивов печатается с соответствующим битом.
Я хочу напечатать индексы битов до «1» (согласно целочисленным индексам в «значении») в том же логическом массиве.
Я также играл с arraylist, int[] и т. д., но не смог добиться успеха.
Я знаю, что в концептуальной части не хватает какой-то глупости, но если бы вы, ребята, могли мне помочь, я был бы очень благодарен.