zoukankan      html  css  js  c++  java
  • 统计整数的二进制中1的个数。

    最近都在牛客网刷题,有空就来写下博客,不得不说牛客网是个好地方!

      碰到这样一道题:输入一个整数,输出该数二进制表示中1的个数。

      java语言挺好的,毕竟封装了这么多库,很多现有的函数,刷题也是666。

      废话不说,输入整数,可将其先转换为二进制,然后再进行统计1的个数。

      下面贴出代码:

    import java.util.Scanner;

    public class Main {
      public static void main(String args[]){
        Scanner in = new Scanner(System.in);
        while(in.hasNextInt()){  //多组数据输入
        int n = in.nextInt();
        int count = 0;  
        char ch[] = Integer.toBinaryString(n).toCharArray();  //将n转换为二进制字符串,再转为字符数组
        for(int i=0;i<ch.length;i++){
          if(ch[i]=='1'){
          count++;  //统计1的个数,注意是单引号
          }
        }
        System.out.println(count);
        }
      }
    }

     写个博客怎么感觉有点写日记的感觉,话说小学时候还是挺喜欢写日记的!虽然每天记流水账,还总有种要被老师夸的赶脚!

    其实也可以这样-->

    Integer.toBinaryString().replace("0","").length();

    转为二进制字符串后,调用replace()将"0"换为"",其实就相当于把0去掉,那剩下的全都是1了,再调用length()就可以统计出1的个数了。

    新思路get!!!

    没事就来写写博客哈哈哈!
  • 相关阅读:
    配置文件配置网络
    安装Linux centos 7.3
    java二维字符数组的输入
    前端保存JSON文件到本地
    在Springboot中使用swagger2
    Vue better-scroll使用指南
    解决端口占用问题
    CheckSum(校验和)计算
    区分按字寻址与按字节寻址
    进制转换
  • 原文地址:https://www.cnblogs.com/cppeterpan/p/6659704.html
Copyright © 2011-2022 走看看