請問我對答案解釋邏輯哪里錯誤?解釋在編程旁邊,謝
if (num >= 0 ?&& num<=999999999){
while(num != 0){ ??? //假設num=9.9,那么判斷num不等于0,條件成立,進入循環(huán)
count++;?????? //count自加一
num/=10;?????? //num=9.9除以10等于0.99再賦值給num,此時的num=0,99再進入while時判斷條件不是繼續(xù)成立?為什么就輸出是一位數(shù)?沒進入下次循環(huán)?
}
System.out.println("它是個"+ count+"位的數(shù)!");
} else{
System.out.println("輸入有誤!");
}
2016-04-10
可以肯定了 你要明確類型 int 類型 是double類型的話 底層會發(fā)生自動提升的 也就是 就算是小數(shù) 也會被轉換成int 類型,因此小數(shù)會被刪除自留下整數(shù) 也就是自有一位數(shù)的原因,把你那int 類型改成double
2016-04-10
比如?
int a=9;
double b=9.7;
a*=b;
System.out.println(a);
正常的話答案是87.3
但是輸出的是 87?
2016-04-10
對了 你先告訴我你 num是什么類型的 如果是int 類型的話 ?9。9的話會被默認去掉小數(shù)的?