-2

我正在创建一个银行帐户。它有一个“accnum”作为变量。它具有大小为 12 个字节的整数值。假设银行帐号是 180020131111。如何初始化变量?

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

3 回答 3

5

180020131111是一个整数文字,它不适合一个int类型。您应该L在末尾附加一个以使其long文字化。

private long x = 180020131111L;

好吧,我宁愿将帐号存储为字符串。我认为没有必要将其存储为数字,因为您只是要显示它。我的意思是,如果您要对帐号进行一些算术运算,那看起来真的很奇怪。

于 2013-09-01T12:39:11.343 回答
1

最大的 Java 原始整数类型是long64 位(8 字节)有符号类型。如果要表示大于 2 63 - 1 == 9,223,372,036,854,775,807 的数字,则需要使用BigIntegeror BigDecimal


这个说法的问题...

    private long x=180020131111;

...是您正在使用int文字的语法。long文字需要一个或l后缀L。(FWIW - 这个数字不需要 9 个字节来表示......)

于 2013-09-01T13:03:54.987 回答
1

默认情况下,整数文字在 java 中被视为 32 位int而不是 64 位long

用这个

private long x=180020131111L;

最后的字符lotL使整型文字变长

于 2013-09-01T12:38:25.543 回答