【发布时间】:2011-12-30 09:18:46
【问题描述】:
我正在尝试将整数转换为 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 和余数。
-
您是否尝试过手动或使用调试器遍历您的代码?如果您使用
8作为输入,两者都不是挑战,并且会让您看到结果开始偏离正确的地方。
标签: java arrays binary boolean