输入用例:
2131231
输出用例:
9
输入用例:
4564641
输出用例:
10
其实不是很复杂,可以先想想再参考
public static void main(String[] args) {
System.out.println("输入全数字字符串");
Scanner scanner = new Scanner(System.in);
String next = scanner.next();
// TODO: 2022/5/20 校验是否为全数字
Integer integer = Integer.valueOf(next);
// TODO: 2022/5/20 转换异常的处理
System.out.println(String.format("转成数字为:%s", integer));
String s = Integer.toBinaryString(integer);
List<String> collect = Arrays.asList(s.split(""))
.stream().filter(str -> str.equals("1")).collect(Collectors.toList());
System.out.println(String.format("转换二进制包含1的个数:%s", collect.size()));
}
结果
给一种实现方案:
import java.util.Scanner;
public class Test {
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
String line = scan.nextLine();
int num = Integer.parseInt(line);
String bin = Integer.toBinaryString(num);
bin = bin.replace("0", "");
System.out.println(bin.length());
scan.close();
}
}