第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

請問我對答案解釋邏輯哪里錯誤?解釋在編程旁邊,謝

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("輸入有誤!");
}

正在回答

3 回答

可以肯定了 你要明確類型 int 類型 是double類型的話 底層會發(fā)生自動提升的 也就是 就算是小數(shù) 也會被轉換成int 類型,因此小數(shù)會被刪除自留下整數(shù) 也就是自有一位數(shù)的原因,把你那int 類型改成double

0 回復 有任何疑惑可以回復我~
#1

三水朝山 提問者

非常感謝!
2016-04-19 回復 有任何疑惑可以回復我~

比如?

int a=9;

double b=9.7;

a*=b;

System.out.println(a);

正常的話答案是87.3

但是輸出的是 87?


0 回復 有任何疑惑可以回復我~

對了 你先告訴我你 num是什么類型的 如果是int 類型的話 ?9。9的話會被默認去掉小數(shù)的?

0 回復 有任何疑惑可以回復我~
#1

三水朝山 提問者

就是int
2016-04-10 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

請問我對答案解釋邏輯哪里錯誤?解釋在編程旁邊,謝

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號