我想将整数转换为7位布尔二进制数组。到目前为止的代码不工作: 如果我输入说整数8要转换,而不是0001000我得到1000000,或说15我应该得到0001111,但我得到1111000.该char数组是不同的长度二进制数组和立场是错误的。整数到二进制数组
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]);
}
任何帮助表示赞赏。
它是功课吗?通过2使用除法和余数。 – kan
您是否尝试通过手动或使用调试程序遍历代码?如果你使用'8'作为输入,这两者都不应该是一个挑战,并且会让你看到你的结果开始偏离正确的地方。 –