我过去几天一直在寻找这个东西,并遇到了使用“BitSet方法”的最推荐的解决方案。 我试图设置位的索引并使用get方法显示它。在布尔数组(Java)中设置位的随机索引
这里是我的代码:
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”(按照“value”中的整数索引)。
我玩过arraylist,int []等,但也不能成功。
我知道在概念部分缺少一些愚蠢的东西,但如果你们能够帮助我,我会非常感激。
你能澄清一下你的问题吗?你在说什么布尔数组?你想要什么最终结果/输出是什么? –
dasblinkenlight写了2个优秀的答案。如果他们没有帮助,则必须发布一个简短但完整的示例,其中包含您的代码,输入,预期输出和实际输出,请参见[SSCCE](http://sscce.org),以便我们帮助您。 – jlordo
@Tom McIntyre 我想根据用户提供的索引值设置包含0的布尔数组为“1”。 – user2132007