質問: null) { return; } if (deleteKey.compareTo(item.deleteKey) != 0) { return; } bbsItems.set(index, null); WriteDataFile(); }
回答: parseIntしてるところがおかしいだけでは? ``` public void doBBSDelete(HttpServletRequest request, HttpServletResponse response, BBSDataBeans bbsData) throws IOException, ServletException { String[] delIndexes = request.getParameterValues("delIndex"); // <- 変数名を変更 if (delIndexes == null || delIndexes.length == 0) { // <- if文の条件を変更 bbsManager.ReadArticles(0, bbsData); return; } // int index = Integer.parseInt(delindex); // <- ここでparseIntする意味がない。 String password = request.getParameter("pwd"); if (password == null) { bbsManager.ReadArticles(0, bbsData); return; } /* DeleteItemメソッド:インデックスに対応するメッセージを取ってきてパスワードを比較し、 同じだった場合に限ってそこをnullで置き換え */ for(int i = 0; i < delIndexes.length; i++){ int index = Integer.parseInt(delIndexes[i]); bbsManager.DeleteItem(index, password); // <- delIndexが複数ある、ということは複数回削除では? } bbsManager.ReadArticles(0, bbsData); } ```