Java 如何创建非常大的BigInteger

Java 如何创建非常大的BigInteger,java,biginteger,Java,Biginteger,我需要加两个非常大的整数 46376937677490009712648124896970078050417018260538 + 37107287533902102798797998220837590246510135740250; 这个怎么了 BigInteger f = 37107287533902102798797998220837590246510135740250; 如何使用biginger在Java中解决这个问题?您需要从字符串而不是数字文本构造biginger,因为这无法

我需要加两个非常大的整数

  46376937677490009712648124896970078050417018260538
+ 37107287533902102798797998220837590246510135740250;
这个怎么了

BigInteger f = 37107287533902102798797998220837590246510135740250;

如何使用
biginger
在Java中解决这个问题?

您需要从字符串而不是数字文本构造biginger,因为这无法工作,因为它首先转换为int。

这里的问题是
3710…
将被解释为
int
,因此它将超出范围。基本上,您要做的是创建一个
int
,然后将其转换为
biginger
,第一步将失败,因为
int
不能存储那么大的数字

您需要使用接受
字符串的构造函数

BigInteger f = new BigInteger("37107287533902102798797998220837590246510135740250");
当然,对于你的另一个
biginger
,也同样如此。

试试:


BigInteger的对象需要使用new运算符创建,并且您正试图将数字直接指定为BigInteger,这不是有效的语句。您可以将该数字作为字符串传递给BigInteger的构造函数,如上所述。

Java没有对
BigInteger
文本的内置支持-您无法编写以下内容:

BigInteger f = 37107287533902102798797998220837590246510135740250;
使用
biginger
的构造函数,该构造函数采用
字符串

BigInteger f = new BigInteger("37107287533902102798797998220837590246510135740250");
要添加两个
biginger
对象:

BigInteger f = new BigInteger("37107287533902102798797998220837590246510135740250");
BigInteger g = new BigInteger("46376937677490009712648124896970078050417018260538");

BigInteger sum = f.add(g);

你应该把这句话写成

BigInteger f = new BigInteger("37107287533902102798797998220837590246510135740250");

BigInteger g = new BigInteger("46376937677490009712648124896970078050417018260538");
现在,作为补充

BigInteger sum = f.add(g);
乘法

BigInteger product = f.multiply(g);
等等


与其他变量类型不同,对于大整数,不能使用
+
-
*
/
运算符。您需要为每个操作使用方法。

为什么您认为这样做应该有效?它显示了什么错误消息?
BigInteger product = f.multiply(g);