クイズのプログラム作っているのですが、NullPointerExceptionが出てしまいます.
selectQuizの拡張for文のところでエラーが起きてしまうのですが何故なのか分かりません。
どうすれば良いか教えてください!
java
1package exercises4.servlet; 2 3import java.io.IOException; 4import java.util.ArrayList; 5import java.util.List; 6 7import javax.servlet.RequestDispatcher; 8import javax.servlet.ServletContext; 9import javax.servlet.ServletException; 10import javax.servlet.annotation.WebServlet; 11import javax.servlet.http.HttpServlet; 12import javax.servlet.http.HttpServletRequest; 13import javax.servlet.http.HttpServletResponse; 14 15import exercises4.model.ItQuestionBean; 16 17/** 18 * Servlet implementation class ItQuestionServlet 19 */ 20@WebServlet("/ItQuestionServlet") 21public class ItQuestionServlet extends HttpServlet { 22 private static final long serialVersionUID = 1L; 23 24 /** 25 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 26 */ 27 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 28 // TODO Auto-generated method stub 29 ItQuestionBean ipb = null; 30 ipb = selectQuiz(quizData(), 1); 31 request.setAttribute("ipb", ipb); 32 //question1へ 33 ServletContext context = getServletContext(); 34 RequestDispatcher rd = context.getRequestDispatcher("/question1.jsp"); 35 rd.forward(request, response); 36 } 37 38 /** 39 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 40 */ 41 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 42 // TODO Auto-generated method stub 43 doGet(request, response); 44 } 45 46 private List<ItQuestionBean> quizData(){ 47 List<ItQuestionBean> quizes = new ArrayList<>(); 48 49 ItQuestionBean question = new ItQuestionBean(); 50 question.setQuizNo(1); 51 question.setQuiz("コンピュータ間でデータ通信を行う時に必要な通信速度、手順などの取り決めをなんという?"); 52 question.setSelectA("プログラム"); 53 question.setSelectB("プロトコル"); 54 question.setSelectC("プロファイル"); 55 question.setSelectD("プロメテウス"); 56 quizes.add(question); 57 58 question = new ItQuestionBean(); 59 question.setQuizNo(2); 60 question.setQuiz("1MBをKBに換算すると?"); 61 question.setSelectA("1024KB"); 62 question.setSelectB("1022KB"); 63 question.setSelectC("1028KB"); 64 question.setSelectD("1026KB"); 65 quizes.add(question); 66 67 question = new ItQuestionBean(); 68 question.setQuizNo(1); 69 question.setQuiz("「XML」とは何の略?"); 70 question.setSelectA("eXciting MarkupLangage(エキサイティング・マークアップ・ランゲージ"); 71 question.setSelectB("X-BOX Mailing List(エックスボックス・メーリング・リスト"); 72 question.setSelectC("eXciting Mailing List(エキサイティング・メーリング・リスト"); 73 question.setSelectD("eXtensible Markup Langage(エクステンシブル・マークアップ・ランゲージ"); 74 quizes.add(question); 75 76 return null; 77 } 78 79 private ItQuestionBean selectQuiz(List<ItQuestionBean> a, int quizNo) { 80 ItQuestionBean iq = null; 81 for(ItQuestionBean quiz: a) { 82 if(quiz.getQuizNo() == quizNo) { 83 iq = quiz; 84 break; 85 } 86 } 87 return iq; 88 } 89 90} 91
java
1package exercises4.model; 2 3import java.io.Serializable; 4 5public class ItQuestionBean implements Serializable { 6 private int quizNo; 7 private String quiz; 8 private String selectA; 9 private String selectB; 10 private String selectC; 11 private String selectD; 12 13 14 public int getQuizNo() { 15 return quizNo; 16 } 17 public void setQuizNo(int quizNo) { 18 this.quizNo = quizNo; 19 } 20 public String getQuiz() { 21 return quiz; 22 } 23 public void setQuiz(String quiz) { 24 this.quiz = quiz; 25 } 26 public String getSelectA() { 27 return selectA; 28 } 29 public void setSelectA(String selectA) { 30 this.selectA = selectA; 31 } 32 public String getSelectB() { 33 return selectB; 34 } 35 public void setSelectB(String selectB) { 36 this.selectB = selectB; 37 } 38 public String getSelectC() { 39 return selectC; 40 } 41 public void setSelectC(String selectC) { 42 this.selectC = selectC; 43 } 44 public String getSelectD() { 45 return selectD; 46 } 47 public void setSelectD(String selectD) { 48 this.selectD = selectD; 49 } 50} 51
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。