【问题标题】:Number is too large Exception in Java [duplicate]Java中的数字太大异常[重复]
【发布时间】:2013-11-18 11:58:00
【问题描述】:

我正在尝试打印这个整数

 int a=07;
System.out.println("Value of a is "+a);

它运行并显示 value of a is 7 但是当我更改 a 的值时

 int a=08;
System.out.println("Value of a is "+a);

然后显示integer number too large

我不知道为什么......任何人都可以告诉我吗?

【问题讨论】:

  • @BalusCthankx fr respnse 请在这里用几行解释一下
  • 来自 JVM 恕我直言的错误异常消息为 int b=a;甚至不会编译。

标签: java


【解决方案1】:

这是因为 JVM 将此数字解释为 octal,而八进制中没有符号 8

任何以0 开头的数字都是八进制数。

【讨论】:

  • 我理解,但如果 0 到 7 是八进制数,那么 07*07 为什么它的答案是 49?
  • 因为结果是用十进制表示的。八进制的07 与十进制的7 完全相同。 07 x 07 = 061061=47
  • 你是说 061=47 但答案是 49 而不是 47?
  • 不好意思,打错字了,我应该说:061=49
  • 很高兴为您提供帮助
【解决方案2】:

08 是八进制数 8,这是无效的,因为八进制数只能从 0 到 7。

你应该试试:

int a=8;
System.out.println("Value of a is "+a);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-30
    • 1970-01-01
    • 1970-01-01
    • 2016-08-14
    • 2016-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多