-2
import java.math.BigInteger;

public class PascalsTriangle {

    public int row = 0;
    public BigInteger[][] pascal = new BigInteger[ (int) (row +1)][];

    public PascalsTriangle(int dimension) {
        row = dimension + 2;
        pascal  = new BigInteger[row +1][];
        pascal[1] = new BigInteger[1 + 2];
        pascal[1][1] = new BigInteger("1");

        for (int i = 2; i <= row; i++) {
            pascal[i] = new BigInteger[i + 2];

            for (int j = 1; j < pascal[i].length - 1; j++) {
                pascal[i][j] = pascal[i - 1][j - 1].add(pascal[i-1][j]) ;
            }
        }
    }

    public BigInteger getface(int row, int column) {
        return pascal[row][column]; 
    }
}

パスカルの三角形を出力しようとしましたが、整数の要件が非常に高く、つまり の最大値を超えているlongため、BigInteger を使用しました。しかし、クラス PascalsTriangle に BigIntegers を追加する部分で NullPointerException が発生しています。これは、2 次元の BigInteger 配列を追加する正しい方法ですか?

4

1 に答える 1

1

null ポインターは BigInteger.add からのものではありません

それは配列インデックスからのものです

于 2015-12-25T19:05:00.620 に答える