亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

請問這個題怎么做,搞不清思路,要用多重循環做。判斷一個數(小于10位)的位數。輸入999,則輸出 “它是個3位的數!”

判斷一個數(小于10位)的位數。
輸入999,則輸出 “它是個3位的數!”
598dca3900012f4605400960.jpg

正在回答

3 回答

while(num?!=0){
????count?++;
????num/=10;
}

解題思路:

1、判斷數字的位數,通常是跟10有關,就像10是2位,100是3位,1000是4位,即數字后面的0總比位數少一位

2、如上代碼,num=999,不等于0,進入循環后,count先加1,num/=10是num=num/10;就是在當前num的值除以10后的除數重新賦值給num,此時num=99,再次進入循環,count+1,num=9,第三次循環后9/10=0,num=0就結束循環,count=3

2 回復 有任何疑惑可以回復我~
#1

生亦何歡死亦何苦 提問者

嗯嗯,我明白了,謝謝
2017-08-14 回復 有任何疑惑可以回復我~
#2

荒旅

我有個問題。。num賦值為999 第一次循環不是99.9嗎。。他不會提示3位嗎
2017-08-21 回復 有任何疑惑可以回復我~
#3

月下心語 回復 荒旅

System.out.println("它是個"+count+"位的數!"); count就是計算了幾次
2017-08-21 回復 有任何疑惑可以回復我~
#4

荒旅 回復 月下心語

999可以除以10三次 所以三位是這樣嗎
2017-08-22 回復 有任何疑惑可以回復我~
#5

月下心語 回復 荒旅

就是這個意思
2017-08-22 回復 有任何疑惑可以回復我~
#6

荒旅 回復 月下心語

謝謝你的解答
2017-08-22 回復 有任何疑惑可以回復我~
查看3條回復

public class HelloWorld{

public static void main(String[] args){

int num = 999;

int count = 0;

int i;


for(i=10;num%i!=0;)

{

? ? num=num/10;

? ? count++;

}


System.out.println("它是個"+count+"位的數!");

}

}


0 回復 有任何疑惑可以回復我~
#1

生亦何歡死亦何苦 提問者

謝謝謝謝
2017-08-14 回復 有任何疑惑可以回復我~
if(0<num&&num<=999999999){?//判斷是否在范圍內
????while(num!=0){???/*建立一個循環體
????????count++;??????*使num每次除以10,并記錄次數
????????num/=10;??????*結束條件是num=0(即上一步9/10=0)
????}?????????????????*/
????System.out.println("它是個"+count+"位的數!");
}else{
????System.out.println("輸入錯誤!");
}


0 回復 有任何疑惑可以回復我~
#1

生亦何歡死亦何苦 提問者

謝謝謝
2017-08-14 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

請問這個題怎么做,搞不清思路,要用多重循環做。判斷一個數(小于10位)的位數。輸入999,則輸出 “它是個3位的數!”

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號