java中创建一个数组用来存放整数转换为二进制数得到的1
时间: 2024-10-16 18:04:03 浏览: 17
在Java中,你可以创建一个动态大小的数组来存储整数转换成二进制后的1的数量。首先,你需要一个方法将整数转换为二进制字符串,然后遍历每个二进制位,计数其中的1。这里有一个简单示例:
```java
public class Main {
public static void main(String[] args) {
int[] binaryCounts = new int[32]; // 假设32位整数最大
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数: ");
int number = scanner.nextInt();
String binary = toBinaryString(number); // 将整数转为二进制字符串
for (int i = 0; i < binary.length(); i++) {
if (binary.charAt(i) == '1') { // 检查每一位是否为1
binaryCounts[i]++;
}
}
// 输出每个位置1的个数
for (int i = 0; i < binaryCounts.length; i++) {
if (binaryCounts[i] > 0) {
System.out.println("第" + (i+1) + "位有 " + binaryCounts[i] + "个1");
}
}
}
private static String toBinaryString(int num) {
return Integer.toBinaryString(num);
}
}
```
在这个例子中,如果输入的整数是31(十进制),它的二进制是111111(1的个数为6)。程序会分别打印出每个二进制位上1的个数。
阅读全文