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

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

這樣哪里錯了?

public class HelloWorld{

public static void main(String[] args){

int num = 999;

int count = 0;


? ? do {

? ? ? ? count=count+1;

? ? ? ? num=num % 10;

? ? } while (num % 10 != num)


? ? println("它是個" + count "位的數!");


}

}


正在回答

6 回答

%他是求余的 ? 用/

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

你應該是想除以10吧,把'%'改成'/'即可;

另建議把代碼寫到方法體中,不要寫在判斷語句處;

代碼修改后如下:

public class HelloWorld{

????public static void main(String[] args){

????????int num = 999;

????????int count = 0;

????????while?(num?!=?0)?{

????????????count?= count+1;

? ??????????num?=?num/10;
????????}

????????println("它是個" + count "位的數!");

????}????

}


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

num % 10 != num 改為 num >0

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

應改為

public class HelloWorld{

public static void main(String[] args){

int num = 999;

int count = 0;


? ? do {

? ? ? ? count=count+1;

? ? ? ? num=num / 10;

? ? } while (num / 10 != num);


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


}

}



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

問題在于

do {

? ? ? ? count=count+1;

? ? ? ? num=num % 10;

? ? }?

中,num=num%10,第一次運行:

num=999;

執行num=num%10后,num=9;

退出循環了。所以你的結果 是1位數

不該用mod方法求位數,正確的:

int num = 999;

int count = 0;

?do {

? ? ? ?count=count+1;

?? ?} while((num=num/10)!=0);//注意這里有個分號。問題描述中的沒有,是會報錯的

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


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

%是模運算,取余數的,你需要的是除法/

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

舉報

0/150
提交
取消
Java入門第一季(IDEA工具)升級版
  • 參與學習       1167489    人
  • 解答問題       18748    個

0基礎萌新入門第一課,從Java環境搭建、工具使用、基礎語法開始

進入課程

這樣哪里錯了?

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

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

幫助反饋 APP下載

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

公眾號

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