JAVA-----------华为机试--------------------查找输入整数二进制中1的个数
题目描述
请实现如下接口
public static int findNumberOf1( int num)
{
/* 请实现 */
return 0;
} 譬如:输入5 ,5的二进制为101,输出2
输入描述:
输入一个整数
输出描述:
计算整数二进制中1的个数
输入
5
输出
2
import java.util.*;
public class Main {
public static void main(String[] args) {
// System.out.println("Test");
Scanner scan = new Scanner(System.in);
while (scan.hasNext()) {
int a = scan.nextInt();
System.out.println(findNumberOf1(a));
}
}
public static int findNumberOf1(int num) {
int counter = 0;
String aString = Integer.toBinaryString(num); //转为二进制字符串
for (int i = 0; i < aString.length(); i++) {
if(aString.charAt(i) == '1') {
counter++;
}
}
return counter;
}
}