java – 如何获得模数INT_MAX的结果?

如果我尝试应用:Integer.valueOf(String.valueOf(Integer.MAX_VALUE)“9”);
我得到一个NumberFormatException.

但我需要从String表示中获取余数模数为Integer.MAX_VALUE.

我怎样才能做到这一点?

UPD:Integer.valueOf(String.valueOf(Integer.MAX_VALUE)“9”);只是一个例子.该字符串的值可能超过Long的最大值.

解决方法

您正在寻找 BigInteger.这允许使用非常大的数字进行数学运算.

以下将允许您使用非常大的数字进行模数:

BigInteger number = new BigInteger(myValueAsstring);
BigInteger intMax = BigInteger.valueOf(Integer.MAX_VALUE);
BigInteger remainder = number.remainder(intMax);

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...