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