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

 

posted @ 2018-05-23 20:07  过道  阅读(366)  评论(0编辑  收藏  举报