質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.32%
MVC

MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

サーブレット

サーブレット(Servlets)とはウェブやアプリケーションサーバー上に動くプログラムのことであり、ウェブブラウザや他のHTTPクライエントとデータベースやHTTPサーバー上のアプリケーションの中間層としての働きをします。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

Q&A

解決済

1回答

186閲覧

MVCVCモデルを実現したい

meguuuu

総合スコア7

MVC

MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

サーブレット

サーブレット(Servlets)とはウェブやアプリケーションサーバー上に動くプログラムのことであり、ウェブブラウザや他のHTTPクライエントとデータベースやHTTPサーバー上のアプリケーションの中間層としての働きをします。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

0グッド

0クリップ

投稿2025/02/26 05:35

編集2025/02/26 05:55

実現したいこと

確率5%のくじをn回引いた時のあたりの本数をrとしたときの確率answerをビューで出力したい

発生している問題・分からないこと

エラーメッセージはでませんでしたが、送信ボタンを推してもresult画面までいかず、また最初の画面に戻ってしまいます
どこかにエラーがあるのかもわからない状況です

追伸)controller(クラス:ProbilityCheck)のimportがjakartaではなくjavaxになってしまっているのが気がかりです、これが原因ということは考えられないでしょうか

エラーメッセージ

error

1エラーメッセージはなし(入力画面にリセットされる)

該当のソースコード

package model; import java.io.Serializable; public class Mathma implements Serializable { private int charange, per, nper, win; private double answer; public int getCharange() { return charange; } public void setCharange(int charange) { this.charange = charange; } public int getWin() { return win; } public void setWin(int win) { this.win = win; } public int getPer() { return per; } public void setPer(int per) { this.per = per; } public double getNPer() { return nper; } public void setNPer(int nper) { this.nper = nper; } public void setAnswer(double answer) { this.answer=answer; } public double getAnswer() { return this.answer; } } ※per,nper.getPer.setPer.getnPre,setnPerは使用せず(%を設定するまでにいたっていないので)
package model; public class ProbilityLogic { public void execute(Mathma math) { double answer; int r = math.getWin(); int n = math.getCharange(); long ans = 1; for (int i = n; i > n - r; --i) { ans = ans * i; } for (int i = 1; i < r + 1; ++i) { ans = ans / i; } System.out.println(ans); double result = Math.pow(0.05, r); double result2 = Math.pow(0.95, n - r); answer=100*(result2 * result * ans); math.setAnswer(answer); } }
package Servlet; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import model.Mathma; import model.ProbilityLogic; /** * Servlet implementation class ProbilityCheck */ @WebServlet("/ProbilityCheck") public class ProbilityCheck extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { RequestDispatcher dispatcher = request.getRequestDispatcher("WEB-INF/ProbilityCheck.jsp"); dispatcher.forward(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String charange =request.getParameter("charange"); String win=request.getParameter("win"); Mathma math=new Mathma(); math.setWin(Integer.parseInt(win)); math.setCharange(Integer.parseInt(charange)); ProbilityLogic probilityLogic=new ProbilityLogic(); probilityLogic.execute(math); request.setAttribute("math",math); RequestDispatcher dispatcher = request.getRequestDispatcher("WEB-INF/ProbilityCheckResult.jsp"); dispatcher.forward(request, response); } }
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <h1>サイトへようこそ</h1> <h1>計算</h1> <form action="ProbilityCheck" method ="post"> <input type="text" name="charange">(回試行して)<br> <input type="text" name="win">(回当たる +<br> <input type="submit" value="送信"> </form> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="model.Mathma" %> <% Mathma math =(Mathma)request.getAttribute("math"); %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <p> <%= math.getWin() %>回試行して<br> <%= math.getCharange() %>回当たる確率は<br> <%= math.getAnswer() %>%です<br> </p> </body> </html>

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

スッキリわかるサーブレット&JSpの本から自作で作ってみましたがうまくいきませんでした
nCrをうまくアルゴリズムに落とし込むことはできましたが、その後がうまくいってないです

補足

<環境>
エクリプス
Version: 2024-12 (4.34.0)
Build id: 20241128-0757

java version "23.0.2" 2025-01-21
Java(TM) SE Runtime Environment (build 23.0.2+7-58)
Java HotSpot(TM) 64-Bit Server VM (build 23.0.2+7-58, mixed mode, sharing)

TomCat10 java17

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meguuuu

2025/02/26 06:27

自己解決しました
jimbe

2025/02/26 14:51

ご自身で解決されましたら、どのように解決できたのかの回答をご自身で書いてそれをベストアンサーとしてください。 それで解決済と表示されるようになります。
meguuuu

2025/02/26 14:58

サーバーの再起動で直りました
guest

回答1

0

自己解決

サーバーの再起動で直りました

投稿2025/02/26 14:59

meguuuu

総合スコア7

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.32%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問