Java 如何在创建InstantCs后初始化BigInteger(不能调用构造函数)
设想一个Java 如何在创建InstantCs后初始化BigInteger(不能调用构造函数),java,biginteger,Java,Biginteger,设想一个biginger的实例,那么在创建实例后如何初始化它 例如: BigInteger t = new BigInteger(); 如何在t中输入值 如果无法调用构造函数,那么如何将值放入对象中?要将long(或常规整数)转换为BigInteger,请使用valueOf的静态工厂方法。调用biginger.valueOf(someInteger)返回一个新的biginger对象,该对象保存您指定的整数值。您也可以使用newBigInteger(“+someInteger”)来获得相同的结果
biginger
的实例,那么在创建实例后如何初始化它
例如:
BigInteger t = new BigInteger();
如何在t
中输入值
如果无法调用构造函数,那么如何将值放入对象中?要将long(或常规整数)转换为BigInteger,请使用valueOf的静态工厂方法。调用
biginger.valueOf(someInteger)
返回一个新的biginger
对象,该对象保存您指定的整数值。您也可以使用newBigInteger(“+someInteger”)
来获得相同的结果,但这更为笨重。我不能100%确定是什么让您感到困惑,因为您会像初始化任何其他对象数组一样初始化BigInteger数组中的项。e、 g
BigInteger t2 [] = new BigInteger[2];
t2[0] = new BigInteger("2");
t2[1] = BigInteger.ZERO; // ZERO, ONE, and TEN are defined by constants
// or
BigInteger[] t3 = {new BigInteger("2"), BigInteger.ZERO};
编辑1:啊,现在我明白你的问题了:你想创建一个BigInteger实例,然后再设置它的值。答案与字符串的答案相同:您不能,这是因为像字符串这样的大整数是不可变的,一旦创建就不能更改。因此,该类没有“setter”方法。更改BigInteger变量值的方法是将其设置为新的BigInteger实例。以下是一些示例:
BigInteger t = BigInteger.valueOf(23);
int i = 66;
t = BigInteger.valueOf(i);
t = BigInteger.ZERO
我做了这样的事
//initialize with zero
BigInteger t = BigInteger.ZERO;
//if i is any value that is to be assigned
t=t.add(BigInteger.valueOf(i));
好的,谢谢,若它不是数组,那个么对象是被创建的,那个么值是如何被放入的呢BigInteger@CoolEulerProject:请看我上面答案中的修改(编辑1)。全是EEL,谢谢,“像字符串这样的大整数是不可变的,一旦创建就不能更改”来学习如何使用类,阅读它的文档。所有标准类都有文档记录:。BigInteger的文档如下:谢谢,但是如何使用stringBigInteger替换BigInteger中的值有一个构造函数,它接受数字的字符串表示形式,并为您创建一个BigInteger对象。请阅读文档。它的第一句话是:不可变的任意精度整数。BigInteger是不可变的。一旦创建,它就不能再被更改了。构造另一个one.BigInteger有一个构造函数,它接受数字的字符串表示形式,并为您创建一个BigInteger对象。示例BigInteger b=新的BigInteger(“379017138713978419174”);@谢谢,但我的问题是它(BigInteger)可以被修改吗(替换为另一个字符串),答案是否(参见JB T的答案)