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

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

求解是一個死循環

public static void main(String[] args){

int num=999;

int count=10;

int j=0;

for(;num<=999999999&&num>=0;){

num/=count;

j++;

}

System.out.println("它是一個"+j+"位的數");

}

}


正在回答

2 回答

for(;num<=999999999&&num>=0;)這里錯誤,num一開始賦值999,然后for循環里面第二個條件是判斷循環結束的,接著for循環里面的 num /= count,算到最后num最小也只能是0,然后始終滿足num<=999999999&&num>=0,所以你這循環結束不了。你改成num<=999999999&&num>0,少一個=號就行了

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

慕虎6245855

為什么是num>0,0.9也是大于0 啊
2017-10-28 回復 有任何疑惑可以回復我~
#2

72fc5c0f8317 回復 慕虎6245855

int num = 999; num /= count ,你明白‘/’和‘%’的定義沒?還有int可不可以有小數? num第一次循環的結果是99,第二次是9,第三次不是0.9,是0。至于為什么是0不是0.9,我建議你去看基礎或者百度。
2017-10-28 回復 有任何疑惑可以回復我~
#3

慕娘5253255 提問者 回復 慕虎6245855

int型只計算整數,所以0.999就是0,num>=0條件成立,我也是后來細看才發現的。
2017-10-28 回復 有任何疑惑可以回復我~
#4

72fc5c0f8317 回復 72fc5c0f8317

上面是 num /= 10,打錯了
2017-10-28 回復 有任何疑惑可以回復我~
查看1條回復

public static void main(String[] args){

int num=46464646;

int count=0;

for(;num<=999999999&&num>0;){

num/=10;

count++;

}

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

}

//問題已解決int型

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

慕虎6245855

為什么是num>0,0.9也是大于0 啊
2017-10-28 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

求解是一個死循環

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

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

幫助反饋 APP下載

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

公眾號

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