-3
public void setAns() {
if("TF".equals(queType)){
ans.add("True");
ans.add("False");
}
else if("MC".equals(queType)){
System.out.println("Enter choice 1 of 4");
String ch1 = StdIn.readLine();
ans.add(ch1);
System.out.println("Enter choice 2 of 4");
String ch2 = StdIn.readLine();
ans.add(ch2);
System.out.println("Enter choice 3 of 4");
String ch3 = StdIn.readLine();
ans.add(ch3);
System.out.println("Enter choice 4 of 4");
String ch4 = StdIn.readLine();
ans.add(ch4);
}
else if("L5".equals(queType)){
ans.add("1");
ans.add("2");
ans.add("3");
ans.add("4");
ans.add("5");
}
}
ansはArraylistです。私は文字列であるユーザーの入力を追加しようとしています。私はそれを実行すると、最初のメッセージが表示されますが、 "ch1"の値を入力するとエラーが発生します。基本的にはそれを読んでいないので、NULLポインタの例外が表示されます。配列にユーザーの値を入力できません。NullPointerExceptionエラー
あなたは 'null.member'または' nullの[インデックス] 'で終わるとき基本的には、NPEがスローされます。あなたの完全なコードは見当たりませんし、完全なスタックトレースがないので、何が起こっているのか分からないかもしれませんが、あなたの記述に基づいて、NPEが 'ans.add(ch1)'からスローされたように見えます。 ArrayListがnullを保持するのに問題はないので、 'ans.add(null)'はうまく動作するはずです。これは、 'null.ans(ch1)'であることを示唆しています。これは、ArrayListインスタンスで 'ans'を初期化しなかったことを意味します。 – Pshemo