ということで、プログラミングの課題で困っています。必要なクラスを作成し、完全にコンパイルしましたが、実行すると NullPointerException が発生します。
すべての例外は、このメソッドを指しています。
public void initializeCount(){
for(int j=0; j<t.length; j++){
String s=t[j];
WordCount h=new WordCount(s);
xx[j]=h;
}
}
xx[] は関連するオブジェクト (WordCount) の配列であり、クラスの最初に定義されています (これが何と呼ばれているのか思い出せません。プログラミングはまだ初めてです)。
public class WordFreq extends Echo{
private String wordString;
private String[] t;
private WordCount[] xx;
private int words=0;
Scanner scan;
}
t は文字列オブジェクトの配列で、コンストラクターに入力されます
public WordFreq (String x, String y) throws IOException{
super(x);
wordString=y;
t=wordString.split(" ");
scan = new Scanner(new FileReader(fileName));
}
initializeCount メソッドに戻ると、t[] に保持されている単語を取得し、それらを WordCount オブジェクトに変換してから、それらのオブジェクトを xx[] に配置します。
編集:クラスの最初にxxを初期化したと確信していますが、間違っている可能性があります:
public class WordFreq extends Echo{
private String wordString;
private String[] t;
private WordCount[] xx;
private int words=0;
Scanner scan;
}
initializeCount メソッドが NullPointerException を引き起こしている理由を誰かが説明できれば、それを修正してプログラムを正しく動作させることができるはずです。必要に応じて、プログラムのコードをさらに提供できます。