Java 如何用1字节的所有位组合填充数组?

Java 如何用1字节的所有位组合填充数组?,java,arrays,byte,bits,Java,Arrays,Byte,Bits,假设我有一个类似于String[]arrayofbits=newstring[256]的数组 我想生成一个256个索引的数组。从索引0开始,它将是arrayofbits[0]=“00000000”index 1arrayofbits[1]=“00000001”,依此类推到第255个索引arrayofbits[255]=11111111。如何生成它?试试这个: for(int i = 0; i<256; i++ ) { arrayofbits[i] = i; //because ev

假设我有一个类似于
String[]arrayofbits=newstring[256]的数组

我想生成一个256个索引的数组。从索引0开始,它将是
arrayofbits[0]=“00000000”
index 1
arrayofbits[1]=“00000001”
,依此类推到第255个索引
arrayofbits[255]=11111111
。如何生成它?

试试这个:

for(int i = 0; i<256; i++ ) {
    arrayofbits[i] = i; //because everything is binary!
}
for(int i=0;i您可以使用:

String asString = Integer.toBinaryString(32);
int asDecimal = Integer.valueOf("111");
将字节转换为二进制字符串。即,
32
变为
100000

然后,如果要将字符串
“111”
转换为十进制值
111
,可以使用:

String asString = Integer.toBinaryString(32);
int asDecimal = Integer.valueOf("111");
返回
111
(111)


但是,我假设您只关心第一部分(将
“111”
转换为
111
对我来说没有多大意义)。

设法编写了一个解决方案。也许我对我的问题不太清楚,无论如何,感谢所有帮助我的人

  String[] arrayofbits = new String[256];
  byte bytes;
  String s;

  for (int i = 0; i < 256; i++) {

   bytes = (byte) i;

   s = (Integer.toBinaryString(0xFF & bytes)).replaceAll(".*(.{8})$", "$1");
   s = StringUtils.leftPad(s, 8, "0");
   arrayofbits[i] = s;
   System.out.println("index " + i + " " + s + "\n");


  }
String[]arrayofbits=新字符串[256];
字节;
字符串s;
对于(int i=0;i<256;i++){
字节=(字节)i;
s=(Integer.toBinaryString(0xFF&bytes)).replaceAll(“.*({8})$”,“$1”);
s=StringUtils.leftPad(s,8,“0”);
arrayofbits[i]=s;
System.out.println(“索引”+i+“+s+”\n”);
}

您尝试过什么吗?如果是,请在此处发布代码,并具体说明哪些不起作用。如果没有,请先试一试。
a[i]=我
我遗漏了什么吗?@dasblinkenlight是的。你遗漏了OP不知道如何编写循环的事实。@CharlesMcKelvey我有点困惑,所以我需要一些指导来开始。@dasblinkenlight我的问题不是很清楚,抱歉。@MikeNakis谢谢你的“建设性”建议批评。我希望有人能指出我的错误,而不是批评。这实际上并不是你在问题中所说的那样,因为没有填写数组。你能更新问题以更清楚地说明你真正想做什么吗?我的错,我没有复制正确的编辑,现在它已更新。