0

データ構造クラスのコードを書いています。私のコードは、組み合わせて 0 から 100 までの値の 100 個のランダムな整数の配列を作成し、それらの数値からさまざまな統計情報を取り出し、正規分布と比較して標準偏差を生成する 5 つのクラスで構成されています。どうやら、標準偏差を計算するための私の方法は、null ポインター エラーを与えるものにリンクされています。

Exception in thread "main" java.lang.NullPointerException 
at UnorderedArrayList.standardDeviation(UnorderedArrayList.java:113)
at ValueList.main(ValueList.java:53)

コードスニペットは

IntElement shortList = (IntElement) (this.list[i]);
int num = shortList.getNum();
d = num - average;
var += Math.pow((double) d,(double) 2);

エラー ID の 113 行目:

int num = shortList.getNum();

getNum は、プログラムの他の場所では正常に機能するようです。

家庭教師と一緒に何時間も勉強し、教授にアドバイスを求めましたが、このエラーの原因を突き止めることはできません. 誰か提案はありますか?

4

3 に答える 3

1

上記の回答に同意します。追加するために、そのような場合の前にnullチェックを入れることを常にお勧めします。

IntElement shortList = (IntElement) (this.list[i]);
int num = 0; 
if (shortList !=null) {
    num = shortList.getNum();
} else {
    System.out.println("No items returned"); //or log it. 
}
于 2013-10-23T18:44:38.593 に答える