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