輸入一個(gè)int,輸出其二進(jìn)制數(shù)中1的個(gè)數(shù)

深感自己的邏輯思維略差,知識(shí)面略窄,于是最近開始著手練習(xí)刷nowcoder,提升一下自己。

首先挑一個(gè)通過(guò)率高的算法題試試,題目是 “ 輸入一個(gè)int型的正整數(shù),計(jì)算出該int型數(shù)據(jù)在內(nèi)存中存儲(chǔ)時(shí)1的個(gè)數(shù)?”。嗯,首先想到的是對(duì)2取余,計(jì)數(shù)++, 然后沒(méi)有通過(guò),焦灼...

經(jīng)查閱,java有一個(gè)厲害的方法,Integer.toBinaryString(19934318); 這個(gè)方法可以直接將一個(gè)int對(duì)應(yīng)的二進(jìn)制數(shù),然后,你可以遍歷該方法返回的二進(jìn)制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);

? ? }

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 【程序1】 題目:古典問(wèn)題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長(zhǎng)到第三個(gè)月后每個(gè)月又生一對(duì)兔...
    葉總韓閱讀 5,223評(píng)論 0 41
  • Java經(jīng)典問(wèn)題算法大全 /*【程序1】 題目:古典問(wèn)題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子...
    趙宇_阿特奇閱讀 2,069評(píng)論 0 2
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚_t_閱讀 34,625評(píng)論 18 399
  • 50道經(jīng)典Java編程練習(xí)題,將數(shù)學(xué)思維運(yùn)用到編程中來(lái)。抱歉哈找不到文章的原貼了,有冒犯的麻煩知會(huì)聲哈~ 1.指數(shù)...
    OSET我要編程閱讀 7,277評(píng)論 0 9
  • 無(wú)論是入坑多久的童鞋,幾乎都是聽過(guò)老妖的名字,或者是被老妖的歌荼毒過(guò)的。 要說(shuō)自己為什么會(huì)喜歡他,最大的原因只有一...
    七月妮安閱讀 3,132評(píng)論 9 10

友情鏈接更多精彩內(nèi)容