說我有一個數組像String[] arrayofbits = new String[256];
如何用1字節的所有位組合填充數組?
我想生成256個索引的數組。從索引0開始,這將是arrayofbits[0] = "00000000"
索引1 arrayofbits[1] = "00000001"
等等到第255索引arrayofbits[255] = 11111111
。如何生成它?
說我有一個數組像String[] arrayofbits = new String[256];
如何用1字節的所有位組合填充數組?
我想生成256個索引的數組。從索引0開始,這將是arrayofbits[0] = "00000000"
索引1 arrayofbits[1] = "00000001"
等等到第255索引arrayofbits[255] = 11111111
。如何生成它?
管理編碼解決方案。也許我對我的問題不太清楚,無論如何謝謝所有幫助我的人。
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");
}
這實際上並沒有做你在你的問題中陳述的內容,因爲沒有數組被填充。你能否更新這個問題來更清楚你想要做什麼? – templatetypedef
我的不好,我沒有複製正確的編輯,現在更新了。 – aval
試試這個:
for(int i = 0; i<256; i++) {
arrayofbits[i] = i; //because everything is binary!
}
您可以使用:
String asString = Integer.toBinaryString(32);
一個字節轉換爲二進制字符串。即,32
變成100000
。
然後,如果您希望將字符串"111"
轉換爲十進制值111
你可以使用:
int asDecimal = Integer.valueOf("111");
返回111
(一一一)。
但是,我認爲你只關心第一部分(轉換"111"
到111
對我沒有多大意義)。
你還嘗試過什麼嗎?如果是這樣,請在這裏發佈代碼並具體解釋什麼不起作用。如果沒有,請先給它一個鏡頭。 –
'a [i] = i'我錯過了什麼? – dasblinkenlight
@dasblinkenlight是的。您錯過了OP不知道如何編寫循環的事實。 –