3 回答

TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個(gè)贊
Java 抱怨源代碼中的實(shí)際數(shù)字,即整數(shù)文字,而不是您為其選擇的存儲位置(這將需要自動轉(zhuǎn)換)。由于該語言說任何無后綴的數(shù)字都被解釋為int
,因此您需要為您希望該文字具有的類型添加后綴,例如d
for double
:
number >= 10000000000D

TA貢獻(xiàn)1878條經(jīng)驗(yàn) 獲得超4個(gè)贊
您將 int 與 double 進(jìn)行比較的事實(shí)不會改變可接受的 int 值。
如果您將數(shù)字設(shè)為兩倍,則可能會更清楚。
if (number > 1e10) {
System.out.print("The number is greater than 10 billion!");
順便說一句,>如果消息“大于”,我會使用,否則我會
if (number >= 1e10) {
System.out.print("The number is greater than, or equal to 10 billion!");

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超8個(gè)贊
答案應(yīng)該是
因?yàn)?0000000000是int并且它不能被存儲,因?yàn)樗笥?,147,483,647,這就是為什么你得到的錯誤整數(shù)太大
要解決問題,請Double通過附加d
if (number >= 10000000000d) //***** {
System.out.print("The number is greater than 10 billion!");
}
添加回答
舉報(bào)