Integer.toBinaryString(n)
觉得用位运算比较麻烦,查了Integer的API看到了这个方法
1.将整数转换为对应的二进制字符
2.将字符换用切割指定的切割方法转换成数据
3。遍历字符数组将字符数组的每个元素和1做相等比较。

public class Solution {
    public int NumberOf1(int n) {
        String Sp = Integer.toBinaryString(n);
        String[] sp = Sp.split("");
        int number=0;
        for(int i=0;i<sp.length;i++){
            if(sp[i].equals("1")){
                number++;
            }
        }
        return number;
    }
}