首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BigInteger(long)在BigInteger中具有私有访问权限

BigInteger(long)在BigInteger中具有私有访问权限
EN

Stack Overflow用户
提问于 2014-09-30 00:09:03
回答 2查看 14.5K关注 0票数 8

我正在尝试在一个BigInteger实例中存储一个大的计算。我试过这个:

代码语言:javascript
复制
BigInteger answer=new BigInteger(2+3);

并得到以下错误:

代码语言:javascript
复制
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)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-30 00:13:20

如果要使用BigInteger执行算术运算,则应为每个值创建一个BigInteger,然后使用BigInteger.add。但是,您不需要使用字符串来做到这一点。如果您的输入已经是一个字符串并且可能很长,那么您可能希望这样做,但是如果您已经有了一个long,那么您可以使用BigInteger.valueOf。例如:

代码语言:javascript
复制
BigInteger answer = BigInteger.valueOf(2).add(BigInteger.valueOf(3));

我当然不会将long转换为String,然后将其传递给BigInteger构造函数。

票数 16
EN

Stack Overflow用户

发布于 2014-09-30 00:11:38

你可以直接使用BigInteger的add(...)方法:

代码语言:javascript
复制
BigInteger answer = new BigInteger("2").add(new BigInteger("3"));

不用担心这个解决方案会溢出。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26104221

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档