BigInteger
のインスタンスを想像して、インスタンスを作成した後に初期化する方法はありますか?例えばインスタントを作成した後にBigIntegerを初期化する方法(コンストラクタは呼び出せません)
:
BigInteger t = new BigInteger();
t
に値を配置する方法は?
コンストラクタを呼び出すことができない場合、オブジェクトに値を入れるために何ができるのですか?
BigInteger
のインスタンスを想像して、インスタンスを作成した後に初期化する方法はありますか?例えばインスタントを作成した後にBigIntegerを初期化する方法(コンストラクタは呼び出せません)
:
BigInteger t = new BigInteger();
t
に値を配置する方法は?
コンストラクタを呼び出すことができない場合、オブジェクトに値を入れるために何ができるのですか?
他のオブジェクト配列と同じように、BigInteger配列内の項目を初期化するときに特に混乱していることは100%確信していません。例えば、
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のインスタンスを作成したいと、後でその値を設定します。答えは文字列と同じです:はありません。文字列のようなBigIntegerは不変であり、一度作成すると変更できないためです。このため、クラスには「セッター」メソッドはありません。 BigInteger 変数の値を変更する方法は、新しいBigIntegerインスタンスに設定することです。ここ
大丈夫、 BigIntegerにどのように価値が入れられたのですか – CoolEulerProject
質問が修正されました – CoolEulerProject
@CoolEulerProject:上記の私の答えで修正(** Edit 1 **)をご覧ください。 –
Long(または通常の整数)をBigIntegerに変換するには、静的ファクトリメソッドvalueOfを使用します。 BigInteger.valueOf(<i>someInteger</i>)
コールは、指定した整数値を保持する新しいBigInteger
オブジェクトを返します。あなたは同じことを得るために新しいBigInteger("" + <i>someInteger</i>)
を使うこともできますが、これは大変です。
ありがとうございますが、文字列を使用してBigIntegerの値を置き換える方法 – CoolEulerProject
BigIntegerにはコンストラクタがあります数値の文字列表現を受け取り、BigIntegerオブジェクトを作成します。 – ncmathsadist
ドキュメントをお読みください。最初の文は次のとおりです。*不変の任意精度整数*。 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));
のような何かをしました。すべての標準クラスは、http://download.oracle.com/javase/6/docs/api/に記載されています。 BigIntegerのドキュメントは次のとおりです:http://download.oracle.com/javase/6/docs/api/java/math/BigInteger.html –