請(qǐng)大佬解釋一下不是很理解他的代碼含義
if (num >= 0 ?&& num<=999999999){
while(num != 0){
count++;
num/=10;
}
System.out.println("它是個(gè)"+ count+"位的數(shù)!");
} else{
System.out.println("輸入有誤!");
}
他這里循環(huán)的是什么,只要num不等于0,count就加一,那一開始count為0,他這里什么時(shí)候count停止增加
還有num/=10作用是什么
比如說(shuō)num是9,那9/=10不是0.9嗎
2019-03-11
/是整數(shù)除的意思 9/10==0
num/=10;這個(gè)作用是每次循環(huán)都去掉一位
直到位數(shù)為0
count為0這個(gè)意思就是假設(shè)他是0位,循環(huán)一次加一位
2019-03-14
我覺得應(yīng)該這樣理解,999是整數(shù),定義的時(shí)候用的int,int是整數(shù)數(shù)據(jù)類型,只能存儲(chǔ)整數(shù),不能存儲(chǔ)小數(shù)點(diǎn),999每次除10的 時(shí)候,程序默認(rèn)把小數(shù)點(diǎn)抹掉了,比如第一次循環(huán)99.9,其實(shí)是99進(jìn)行的下次循環(huán)判斷,然后是9.9其實(shí)是9,在下一次0.9,變成0,一共循環(huán)三次count==3,最后輸出結(jié)果是3位數(shù),其實(shí)就是用循環(huán)了幾次來(lái)判斷他是幾位數(shù)的。
2019-03-12
首先num在0-999999999之間,以999為例。
當(dāng)num不等于0時(shí)。count遞增。(因?yàn)椴坏扔?時(shí)他至少是1位數(shù))這時(shí)num/10=99,再循環(huán)到if。
三次循環(huán)之后num/10=0.99(小于1)那么系統(tǒng)直接輸出count。
else后面的表示。當(dāng)while條件不成立時(shí)(num=0)直接輸出輸入有誤。