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

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

請問這樣為啥不行?

public class HelloWorld{

public static void main(String[] args){

int num = 999;

int count = 0;

for(i=10;num/i>=1;){

? ? count=count+1;

? ? i=i*10;

}if(num/i<1){

? ? break;

}

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

}

}


正在回答

3 回答

就算你吧邏輯改好了 但是int 類型范圍是20億到-20億 你這種算法i和十位數比較的時候 最后一遍*10自身會溢出 也就是num不是原來的num了 不能這樣和十位數直接比

0 回復 有任何疑惑可以回復我~
int?num?=?1;
int?count?=?0;
for(int?i=10;i<=1000000000;i=i*10){
????count=count+1;
????if(((double)num/i)-1<0){
????????break;
????}
}System.out.println("它是個"+count+"位的數");

搜索

復制

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

if再循環外了;i從10開始 ,num/i>1成立的話就說明是從兩位數開始的 count+2或者i從1開始

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

weixin_慕仰1563560

他的要count=1開始的。
2022-03-05 回復 有任何疑惑可以回復我~

舉報

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

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

進入課程

請問這樣為啥不行?

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

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

幫助反饋 APP下載

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

公眾號

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