java中的Integer.toBinaryString(n) 方法将十进制转换为2进制字符串
import java.util.Scanner; /** * @author zhangnianlei * @description * @date 2021/8/2 */ public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { int n = sc.nextInt(); String[] split = Integer.toBinaryString(n).split(""); int sum = 0; for (String s : split) { if ("1".equals(s)) { sum += 1; } } System.out.println(sum); } } }