2013-09-01 24 views
-2

我正在創建一個銀行帳戶,它有一個'accnum'作爲變量,它有12個字節的整數值。 讓我們說銀行帳號是180020131111.你如何初始化一個變量?什麼應該是大小爲9bytes或大於9字節的整數的基本類型?

public class number{ 
    public static void main(String[] args){ 
     private long x=180020131111; // is not working.. 
     System.out.println(x); 
    } 
} 
+2

使用'private long x = 180020131111l;'。最後注意小寫的'L'。 –

+5

你也可以使用字符串作爲那些你不執行任何數學計算的數字視場 – DevZer0

+1

Long在這裏是一個非常錯誤的數據類型,你要做的動作(顯示,驗證,前導零)都需要你使用爲它的字符串。用銀行賬號進行算術沒有任何意義。 – Esailija

回答

1

默認情況下積分文字被視爲32比特int而不是64位long在Java ..

使用此

private long x=180020131111L; 

字符l OT L末使得積分文字long

5

180020131111是一個整數字面值,它不適合我nto int類型。您應該在末尾附加一個L以使其文字爲long

private long x = 180020131111L; 

嗯,我寧願將帳號存儲爲字符串。我不認爲有必要將它作爲數字進行存儲,因爲您只是要顯示它。我的意思是,如果你打算對帳號進行一些算術運算,那真的很奇怪。

+0

儘管它看起來很奇怪,我會做算術運算..因爲帳號應該是連續的.. – Abhinav

1

最大的Java原始集成類型是long,它是一個64位(8字節)有符號類型。如果您想表示數字大於2 - 1 == 9,223,372,036,854,775,807,則需要使用BigIntegerBigDecimal


與該語句的問題...

private long x=180020131111; 

...是你正在使用的語法的int文字。 A long文字需要lL後綴。 (FWIW--這個數字不需要9個字節來表示......)

相關問題