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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

盡管變量的類型被聲明為雙精度型,為什么 java 會給出一個 int 太大的錯誤?

盡管變量的類型被聲明為雙精度型,為什么 java 會給出一個 int 太大的錯誤?

九州編程 2021-10-27 17:07:30
Java 為我的代碼的相應(yīng)行提供了整數(shù)太大的錯誤消息,我將在代碼的相應(yīng)段中用 ***** 表示:...if (input.hasNextDouble()) {    double number = input.nextDouble();    if (number >= 10000000000) //***** {        System.out.print("The number is greater than 10 billion!");    }}...我認為double類型可以記錄大約15個十進制數(shù)字。你能告訴我這是怎么回事嗎?
查看完整描述

3 回答

?
森林海

TA貢獻2011條經(jīng)驗 獲得超2個贊

Java 抱怨源代碼中的實際數(shù)字,即整數(shù)文字,而不是您為其選擇的存儲位置(這將需要自動轉(zhuǎn)換)。由于該語言說任何無后綴的數(shù)字都被解釋為int,因此您需要為您希望該文字具有的類型添加后綴,例如dfor double

 number >= 10000000000D


查看完整回答
反對 回復(fù) 2021-10-27
?
UYOU

TA貢獻1878條經(jīng)驗 獲得超4個贊

您將 int 與 double 進行比較的事實不會改變可接受的 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!");


查看完整回答
反對 回復(fù) 2021-10-27
?
守著星空守著你

TA貢獻1799條經(jīng)驗 獲得超8個贊

答案應(yīng)該是


因為10000000000是int并且它不能被存儲,因為它大于2,147,483,647,這就是為什么你得到的錯誤整數(shù)太大


要解決問題,請Double通過附加d


if (number >= 10000000000d) //***** {

    System.out.print("The number is greater than 10 billion!");

}


查看完整回答
反對 回復(fù) 2021-10-27
  • 3 回答
  • 0 關(guān)注
  • 184 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號