超过整数

时间:2017-04-07 14:17:34

标签: java

我是越南人,所以我的英语不好,请同情我。提前致谢。 我有个问题。 我输入一个整数值但是如果它超出了int的大小。 例如:我输入了= 1323544875154846543513521 那么如何捕获错误呢? 我必须输入然后检查值?

2 个答案:

答案 0 :(得分:0)

简单:不要使用int,请使用BigInteger

您可能还想查看具有编号自动转换的其他JVM语言,即根据运行时的值自动更改数字类型(例如Clojure)。

答案 1 :(得分:0)

  

我输入一个整数值,但是如果它超出了int的大小。   例如:我输入a = 1323544875154846543513521那么如何捕获错误?

System.out.println(Integer.MAX_VALUE+1); // anymore than the max will wrap around, value printed = -2147483648
System.out.println(Integer.MIN_VALUE-1); // if less than the min it will also wrap around, value printed = 2147483647

如果要在溢出/下溢时收到异常,可以使用Math.toIntExact(long value)

或者,您可以使用BigIntegerBigDecimal,其大小没有限制(您的RAM是限制)。