私は自分のBigIntegerクラスをArrayListを使って実装していますが、私の追加メソッドの書き方は不明です。BigIntegerの追加のためのリストを使用する
public BigInt plus(BigInt operand){
//deep copy?
ArrayList<Byte> a = this.digit;
ArrayList<Byte> b = operand.digit;
ArrayList<Byte> sum = new ArrayList<>();
//code
return new BigInt();
}
目標は、2つのバイトを加算した値は、一緒にあなたが運ぶならば、別のBigIntに渡すバイトのそのArrayListのを取ると、現在のBigIntのバイトのArrayListに追加し、これをやったときにすることです'1'を入力し、リストの次のバイトに追加します。
IE:
BigInt1 = "3,2,1,7"
BigInt2 = "1,4,3,5"
1を搭載しており、2が返さのBigIntためにそのインデックスであろうように、7と5を追加すると、12を作成することになります。
最終のBigIntが
BigIntSum = "4,6,5,2"
私の質問は、どのように私はこれらのリストを繰り返し処理、バイトを追加し、必要に応じて番号を運び、そしてそれを追加することができますか?なければなりませんかどんな助けでも大歓迎です。 BigIntは、このような
なぜ、独自のArrayListになっている文字列を取ることができ、コンストラクタを持っていますか? 2つの整数の加算は、別の整数を生成する。リストは必要ありません。あなたはこの方法に注意するように見えません。 – EJP
私はバイトを使用しています。バイトは2桁の数字にすることはできません。 BigIntクラスは、数値の各桁をバイトのリストに置きます。このクラスは、通常の整数よりも大きな数を扱うことを目的としているため、リストを使用します。 – Alkarin
実際には、バイト*は2桁の数字にすることができますが、リストを必要とするのを見逃してしまいます(例では2桁以上の数字を表す必要があると仮定します)。 –