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

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

為什么循環會斷掉?

int num = 11;

int count = 0;

if (num>=0&&num<=999999999 ){

? ? while (num != 0){

? ? ? ? count++;

? ? ? ? num /= 10;

? ? }

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

}else{

? ? System.out.println("輸入有誤!");

按理說num只要不是0while后面的大括號里的會一直循環下去吧?num會一直除以0,就算變成0循環也不會斷吧?雖然能得出count最后的結果,但是循環不斷應該就沒法進入system這項了吧,另外循環里的

count++;

? ? ? ? num /= 10;

上下位置可以調換嗎

正在回答

4 回答

你定義的 num 是 int 類型(整形) 10也是整數? 整數除于整數 得到的結果也是整數? 所以 第二次 1/10 得到的結果是 0 會把 小數點后面忽略掉? ? num=0了 就循環結束了

另外count++;和? num /= 10;上下位置可以調換


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

慕蓋茨6056564 提問者

明白了!謝謝您!
2018-10-25 回復 有任何疑惑可以回復我~

因為你定義的int型變量,當1/10的時候是0了。不滿足num!=0的條件,便會跳出循環??梢赃M行換位,當進入循環后。完成一次完整的循環,即完成大括號里的所有步驟再進行下一次循環。

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

慕蓋茨6056564 提問者

明白了!謝謝您!
2018-10-25 回復 有任何疑惑可以回復我~

你定義的 num 是 int 類型(整形) 10也是整數? 整數除于整數 得到的結果也是整數? 所以 第二次 1/10 得到的結果是 0 會把 小數點后面忽略掉??

另外count++;和? num /= 10;上下位置可以調換


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

江星辰

明白了!謝謝您!
2018-11-13 回復 有任何疑惑可以回復我~

定義的是整數int 的num,不是浮點數好吧!1/10得0,不是0.1 ,就斷了??梢該Q,循環括號里面是對上一次循環賦予的值進行判斷,如果已經進入了循環,就會到達括號前。再重新判斷。

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

慕蓋茨6056564 提問者

明白了!謝謝您!
2018-10-25 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

為什么循環會斷掉?

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

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

幫助反饋 APP下載

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

公眾號

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