我想将一个整数转换为由7位布尔二进制数组成的序列。目前代码无法正常工作:例如,当我输入整数8进行转换时,期望得到0001000,但实际得到的是1000000;当我输入整数15时期望得到0001111,但实际得到的是1111000。字符数组的长度与二进制数组的长度不同,并且位置也不正确。
public static void main(String[] args){
String maxAmpStr = Integer.toBinaryString(8);
char[] arr = maxAmpStr.toCharArray();
boolean[] binaryarray = new boolean[7];
for (int i=0; i<maxAmpStr.length(); i++){
if (arr[i] == '1'){
binaryarray[i] = true;
}
else if (arr[i] == '0'){
binaryarray[i] = false;
}
}
System.out.println(maxAmpStr);
System.out.println(binaryarray[0]);
System.out.println(binaryarray[1]);
System.out.println(binaryarray[2]);
System.out.println(binaryarray[3]);
System.out.println(binaryarray[4]);
System.out.println(binaryarray[5]);
System.out.println(binaryarray[6]);
}
任何帮助都将不胜感激。
8
作为输入,这两种方法都不应该是一项挑战,并且将让你看到你的结果从何处开始偏离正确。 - Andrzej Doyle