為什么循環會斷掉?
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;
上下位置可以調換嗎
2018-10-24
你定義的 num 是 int 類型(整形) 10也是整數? 整數除于整數 得到的結果也是整數? 所以 第二次 1/10 得到的結果是 0 會把 小數點后面忽略掉? ? num=0了 就循環結束了
另外count++;和? num /= 10;上下位置可以調換
2018-10-24
因為你定義的int型變量,當1/10的時候是0了。不滿足num!=0的條件,便會跳出循環??梢赃M行換位,當進入循環后。完成一次完整的循環,即完成大括號里的所有步驟再進行下一次循環。
2018-10-24
你定義的 num 是 int 類型(整形) 10也是整數? 整數除于整數 得到的結果也是整數? 所以 第二次 1/10 得到的結果是 0 會把 小數點后面忽略掉??
另外count++;和? num /= 10;上下位置可以調換
2018-10-24
定義的是整數int 的num,不是浮點數好吧!1/10得0,不是0.1 ,就斷了??梢該Q,循環括號里面是對上一次循環賦予的值進行判斷,如果已經進入了循環,就會到達括號前。再重新判斷。