我是越南人,所以我的英语不好,请同情我。提前致谢。 我有个问题。 我输入一个整数值但是如果它超出了int的大小。 例如:我输入了= 1323544875154846543513521 那么如何捕获错误呢? 我必须输入然后检查值?
答案 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)
。
或者,您可以使用BigInteger
或BigDecimal
,其大小没有限制(您的RAM是限制)。