這答案?!
假如輸入的num=20,if通過、進行while第一次循環:count=1、num=2。因為2!=0,繼續第二次count=2、num=0.2此時應該要輸出了"它是個2位數",而跳出循環條件應當為num==0(若num!=0將繼續循環)可是此時的num=0.2,感覺矛矛盾盾的樣子啊!
于是在下進行了一些簡單分析,按照上面的推論,正確的答案應該將if(num!=0)改為if(num>=1)!in fact,修改后的答案的確通過了。但將原答案復制以后粘貼卻也可以通過,which puzzled me again!難道當num小于1時系統自動視為0?c語言中好像有些默認的東西與我的猜測類似,但JAVA中就不明覺來了,估計應該跟前面的那個int取整有關。
2015-07-22
沒有前后代碼不太明白你想問的地方。
如果你是想說
int num = 999
num / 1000的結果等于0這個問題的話,
因為num和1000都是int型,int / int 仍然是 int型,而int型是不保留小數位的,所以
999 / 1000 = 0