import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class TensuSyukeiServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 返信の設定 response.setContentType("text/html; charset=Windows-31J"); PrintWriter out = response.getWriter(); // 送信値の受取り String kokugo_st = request.getParameter("kokugo_tensu"); String eigo_st = request.getParameter("eigo_tensu"); String suugaku_st = request.getParameter("suugaku_tensu"); /* * エラーメッセージ用の 文字列変数を用意 */ String error = null; // doGet():アドレス直アクセスチェック if (kokugo_st == null) { // 入力画面に差し戻す response.sendRedirect ("tensu.jsp"); return;// メソッド処理終了 }//if // 無入力チェック if (kokugo_st.length() == 0 || eigo_st.length() == 0 || suugaku_st.length() == 0) { error = "すべての科目に入力してください。"; out.print(error); return; } // 集計処理 int kokugo_tensu = 0; int eigo_tensu = 0; int suugaku_tensu = 0; // 整数へ変換 try { kokugo_tensu = Integer.parseInt(kokugo_st); eigo_tensu = Integer.parseInt(eigo_st); suugaku_tensu = Integer.parseInt(suugaku_st); //0〜100以外のチェック if((kokugo_tensu<0 || kokugo_tensu>100) || (eigo_tensu<0 || eigo_tensu>100) || (suugaku_tensu<0 || suugaku_tensu>100) ){ error = "0〜100以外の点数が入力されました。"; out.print(error); return; } // 総合点 int sougouten = kokugo_tensu + eigo_tensu + suugaku_tensu; // 平均点(今回は小数点断ち切り) int heikinten = (int) (sougouten / 3); // 結果を表示 out.print("総合点:" + sougouten + "点"); out.print("
"); out.print("平均点:" + heikinten + "点"); } catch (NumberFormatException e) { error = "整数以外が入力されました。"; out.print(error); } }//doGet() }//class