输入一个int,输出其二进制数中1的个数

深感自己的逻辑思维略差,知识面略窄,于是最近开始着手练习刷nowcoder,提升一下自己。

首先挑一个通过率高的算法题试试,题目是 “ 输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数 ”。嗯,首先想到的是对2取余,计数++, 然后没有通过,焦灼...

经查阅,java有一个厉害的方法,Integer.toBinaryString(19934318); 这个方法可以直接将一个int对应的二进制数,然后,你可以遍历该方法返回的二进制String.

完整代码如下:

import java.util.Scanner;

public class Main{

    public static void main(String args[]){

        int n=0;

        Scanner sc = new Scanner(System.in);

        while(sc.hasNextInt()){

            int num = sc.nextInt();

            String str=Integer.toBinaryString(num);

            for (int i = 0; i < str.length(); i++) {

            if ('1'  ==str.charAt(i)) {

                n++;

            }else {

                continue;

            }

        }

        }

        System.out.println(n);

    }

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔...
    叶总韩阅读 10,546评论 0 41
  • Java经典问题算法大全 /*【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子...
    赵宇_阿特奇阅读 6,020评论 0 2
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,629评论 18 399
  • 50道经典Java编程练习题,将数学思维运用到编程中来。抱歉哈找不到文章的原贴了,有冒犯的麻烦知会声哈~ 1.指数...
    OSET我要编程阅读 11,979评论 0 9
  • 无论是入坑多久的童鞋,几乎都是听过老妖的名字,或者是被老妖的歌荼毒过的。 要说自己为什么会喜欢他,最大的原因只有一...
    七月妮安阅读 8,084评论 9 10

友情链接更多精彩内容