用Java解决牛客网题目HJ62查找输入整数的二进制中的1的个数

tech2025-11-04  7

题目描述

请实现如下接口

public static int findNumberOf1( int num)

{

/* 请实现 */

return 0;

} 譬如:输入5 ,5的二进制为101,输出2

涉及知识点:

注意多组输入输出!!!!!!

输入描述:

输入一个整数

输出描述:

计算整数二进制中1的个数 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Main { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String s; while ((s = br.readLine()) != null) { int a = Integer.parseInt(s);// 输入的值 System.out.println(findNumberof1(a)); } } private static int findNumberof1(int a) { // TODO Auto-generated method stub int temp = 0; // 开始把十进制改成二进制 while (true) { if (a / 2 != 0 && a % 2 == 1) {// 表示二进制中多了一个1 所以1的数量加一 temp++; a = a / 2;// 更新a的值 } else if (a / 2 != 0 && a % 2 == 0) { a = a / 2;// 更新a的值 } else if (a / 2 == 0) { temp++; break; } } return temp;// 返回二进制中的1的数量 } }

 

最新回复(0)