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;
	}
}

猜你喜欢

转载自blog.csdn.net/m0_37961948/article/details/80425287