import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int a=in.nextInt(); int cout=0; while(a>0){ if(a%2!=0)cout++; a=a/2; } System.out.print(cout); } }
定义一个int变量去接受传递的数字,然后定义一个int变量的计数器
十进制转化为二进制有多少1,只需要看十进制余2为1还是0即可,每次除完看余数,在用商接着运算
while(a>0){
if(a%2!=0)cout++;
a=a/2;
}
最后输出
System.out.print(cout);