1.题目
输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。
2.知识点
读取二进制数的每一位
1.把int类型的数转换成任意进制Integer
public static String toBinaryString(int i)以二进制(基数 2)无符号整数形式返回一个整数参数的字符串表示形式。
2.String的成员函数
public char[] toCharArray()将此字符串转换为一个新的字符数组。
3.代码
package huaweijishi;
import java.util.Arrays;
import java.util.Scanner;
public class string_practice {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int n=sc.nextInt();
char[] c=Integer.toBinaryString(n).toCharArray();
int count=0;
for(int i=0;i<c.length;i++){
if(c[i]=='1'){
count++;
}
}
System.out.println(count);
}
}
}