查找输入整数二进制中1的个数
题目描述:输入一个正整数,计算它在二进制下的1的个数。将十进制的数转化为二进制,求其中1的个数。注意:有多组输入输出!
分享解题思路解题思路
拿到题首先想到Java编写一个十进制转二进制的方法,然后在主函数里用Scanner函数写入一个输入。十进制转二进制的方法采用的是除2取余法。然后方法返回的是二进制数a。
直接上代码:
public class DecimalToBinary{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()){
int num = sc.nextInt();
int count = 0;
String res = binary(num); //接收返回的二进制数
for (int i = 0; i < res.length(); i++) {
if (res.charAt(i) == '1'){
count++;
}
}
System.out.println(count);
}
}
public static String binary(int m){
String a = "";
while (m != 0){//十进制转二进制用 除2取余法
a = m % 2 + a;
m = m/2;
}
return a;
}
}