我正在尝试在一个BigInteger实例中存储一个大的计算。我试过这个:
BigInteger answer=new BigInteger(2+3);并得到以下错误:
temp.java:17: error: BigInteger(long) has private access in BigInteger
BigInteger answer=new BigInteger(2+3);
^
1 error我知道应该有一个字符串值而不是"2+3“。但是我不知道如何满足这个条件(假设我不知道2+3是多少)。请告诉我如何给BigInteger对象赋值(将2+3赋值给BigInteger answer)。
发布于 2014-09-30 00:13:20
如果要使用BigInteger执行算术运算,则应为每个值创建一个BigInteger,然后使用BigInteger.add。但是,您不需要使用字符串来做到这一点。如果您的输入已经是一个字符串并且可能很长,那么您可能希望这样做,但是如果您已经有了一个long,那么您可以使用BigInteger.valueOf。例如:
BigInteger answer = BigInteger.valueOf(2).add(BigInteger.valueOf(3));我当然不会将long转换为String,然后将其传递给BigInteger构造函数。
发布于 2014-09-30 00:11:38
你可以直接使用BigInteger的add(...)方法:
BigInteger answer = new BigInteger("2").add(new BigInteger("3"));不用担心这个解决方案会溢出。
https://stackoverflow.com/questions/26104221
复制相似问题