-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」的值時出現錯誤。它基本上不讀取它,它會提示我一個空指針異常無法將用戶的值輸入到數組,NullPointerException錯誤
基本上,當你結束了'null.member'或'空[指數] NPE被拋出'。由於我們沒有看到完整的代碼,並且沒有完整的堆棧跟蹤,所以我們無法確定發生了什麼,但根據您的描述,它看起來像來自'ans.add(ch1)'的NPE。因爲ArrayList沒有問題,所以'ans.add(null)'應該正常工作,這表明它是'null.ans(ch1)',這意味着你沒有用ArrayList實例初始化'ans'。 – Pshemo