
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
#3です。
>エラーが出ます。どこが悪いか教えてもらえますか?
何のコンテナで実行されているのかわかりませんが、ログは確認してみましたか?
見たところコンパイルエラーになるはずなので実行もされてないはずです。コンパイルエラーの箇所などはログにはき出されているはずなので確認してください。
以下、私の気づいた点です。
・num4はintなのにint配列として扱われている。
・入力に対しても、正解に対しても頭が0の時が考慮されていない。(intまたはIntegerで数値を扱っている)
No.5
- 回答日時:
とりあえずぱっと見だと、
セッションから値を取り出してるけど、
セッションに値を格納していない。
ってところかな。
セッションに格納するのか、リクエストに格納するのか、格納したときの名前と同じ名前で取り出さないといけない。
ここら辺かな。
個人的には{とか}が同じ行で見づらいとか、だから余計な{}の組があるんだなぁとか思いますが。(コンパイルエラーは出ないので別に問題ないっちゃぁ問題ない。)
あと、ちょっと下にある
「再:助けてください」
と同じようなソース(やりたいことは違うみたいだけど)で、同じようなとこでひっかかってるみたいだから、参考にしてみてもいいんじゃないかな。
あとは「エラーがでます。」って言うのなら、そのエラーも書かないと。
No.4
- 回答日時:
もしかして、hit/blowの履歴を表示できないってことではないですか?
だとしたら、
1.input type=hidden でユーザ入力送信時に過去の
履歴も毎回送信するようにする。
(カンマ区切りとかで。)
2.過去の履歴をセッション変数にする
のどちらかがよいかと思います。
的外れだったら申し訳ありません。。。
No.3
- 回答日時:
#1です。
hitとblowの判定は難しくないので、一応サンプルを・・・
numbersが当てるの数字でinputが入力された数字だとします。両方int型の配列を想定しています。
// hitを求める
int hit = 0;
for(int i = 0; i < 3; i++){
if(numbers[i] == input[i]){
hit++;
}
}
// blowを求める
int blow = 0;
for(int i = 0; i < 3; i++){
for(int j = 0; j < 3; j++){
if(i != j && numbers[i] == input[j]){
blow++;
}
}
}
この回答への補足
書き込みありがとうございます。上を元に作ってみたのですが、エラーが出ます。どこが悪いか教えてもらえますか?
<%@ page contentType="text/html;charset=Shift_JIS" %>
<%
int num1,num2,num3,num4; //num4が正解の数字
boolean isRight;//解答が正解かどうか
Integer num4Int=(Integer)session.getAttribute("num4");//
Boolean isRightBoo=(Boolean)session.getAttribute("isRight");//
if(num4Int==null || isRightBoo==null){
//sessionオブジェクトに正解の情報がない
isRight=true;
}else{
//sessionオブジェクトより取得した値を使う
isRight=isRightBoo.booleanValue();
}
if(isRight){
//既に正解済、新たな正解の数字を乱数で決める
do{num1=(int)(Math.random()*10);}
while(num1==0);
do{num2=(int)(Math.random()*10);}
while(num2==num1);
do{num3=(int)(Math.random()*10);}
while(num3==num1 || num3==num2);
num4=num1*100+num2*10+num3;
isRight=false;
session.setAttribute("num4",new Integer(num4));
session.setAttribute("isRight",new Boolean(isRight));
}else{
//sessionオブジェクトより取得した正解を使う
num4=num4Int.intValue();
}
%>
<html>
<head>
<title>hit&blow</title>
</head>
<body>
<h1>数字当てゲーム</h1>
<br>
<%
int ans;
//requestオブジェクトからパラメータを(解答)を受け取る
String s=request.getParameter("answer");
if(s!=null){
try{
ans=Integer.parseInt(s);
if(num4==ans){
//解答と正解が一致
isRight=true;
HttpSession hs = request.getSession(true);
out.println("<p>正解!</p>");
}int hit = 0;
for(int i = 0; i < 3; i++){
if(num4[i] == ans[i]){
hit++;}}
// blowを求める
int blow = 0;
for(int i = 0; i < 3; i++){
for(int j = 0; j < 3; j++){
if(i != j && num4[i] == ans[j]){
blow++;
}}} {
//解答が3桁以上のの数字
out.println("<p>3桁の数字を入力してください</p>");
}
}catch(NumberFormatException e){
//数字以外をフォームから受け取ったときの例外処理
out.println("<p>数字は整数で入力してください</p>");
}
}
%>
<hr>
<%
String NextPage="Training7.jsp";
NextPage=response.encodeURL(NextPage);
if(!isRight){
// 解答と正解が不一致
%>
3桁の数字を当ててください。<br>
(3桁の中に同じ数字はありません。)<br>
数字を入力してください。<br>
<form action="<%=NextPage%>">
<input type="text"name="answer">
<input type="submit">
</form>
<%
}else{
//解答と正解が一致
%>
<a href="<%=NextPage%>">もう一度する</a>
<%
}
%>
</body>
</html>
No.2
- 回答日時:
JSPで判定はできるけど表示ができないんですよね?
<% if(○○ == ○○) {%>
正解
<%} else { %>
不正解
<%}%>
じゃダメなのかな?
または
<% if(○○ == ○○) {
out.println("正解");
} else {
out.println("不正解");
%>
とか…
ごめんなさい、できればもう少し詳しく教えて頂ければ…
それと質問内容では判定できると言ってますがNo.1の補足では
判定ができないと言ってますね、どっちですか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) Pythonを用いたフラッシュ暗算ソフトの開発に必要なもの 2 2023/01/29 02:22
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- Excel(エクセル) Excelの数式についての質問 1 2022/10/31 15:50
- Excel(エクセル) Excel 特定セルの数値を参照したセルの0表示が空白にならないのはどうしてか? 3 2022/04/28 22:23
- その他(プログラミング・Web制作) VBA 1 2023/01/19 16:19
- Excel(エクセル) SUMIF関数について 4 2023/06/14 13:13
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/04/21 08:59
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- その他(ソフトウェア) ソースネクストアプリをインストールし、製品登録で半角英数字が入力できない 5 2022/07/03 22:44
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・昔のあなたへのアドバイス
- ・字面がカッコいい英単語
- ・許せない心理テスト
- ・歩いた自慢大会
- ・「I love you」 をかっこよく翻訳してみてください
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・はじめての旅行はどこに行きましたか?
- ・準・究極の選択
- ・この人頭いいなと思ったエピソード
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
[Ljava.lang.Stringってなんですか
-
配列のサイズをrealloc的に変更...
-
【Ajax通信&Java】配列の受け取...
-
【C#】ハッシュテーブル(連想...
-
javaでのプログラム(配列)につ...
-
配列数を超えてアクセスしたと...
-
大きさがわからない配列
-
csvファイルを2次元配列に格納
-
C言語でunsigned char配列を連...
-
javaでデータベース(mysql)か...
-
sqlparamaterでIN句を使いたい。
-
Strutsで動的Formへの対応
-
セッションを使ったint型の値の...
-
半角カナの判別方法
-
動的配列確保
-
配列で、値の入っている要素数...
-
配列インデックス範囲外エラー?
-
Javaで文字と数字が混ざったも...
-
JSPやサーブレットでSystem.out...
-
IF関数でEmpty値を設定する方法。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
[Ljava.lang.Stringってなんですか
-
この警告はどうすれば?
-
C#で動的配列Listの中身をListB...
-
【C#】ハッシュテーブル(連想...
-
javamailで複数人にメールを送...
-
Javaで文字と数字が混ざったも...
-
ArrayListからBean配列に値をセ...
-
配列で、値の入っている要素数...
-
javaで大容量テキストファイル...
-
main(String[] args) の args...
-
sqlparamaterでIN句を使いたい。
-
JavaのBase64デコードで正しく...
-
同じ配列またはクラスを、2回...
-
配列の中に複数存在する数がい...
-
java StringとString[]の違い
-
配列をセッションに割り当てた後で
-
【Ajax通信&Java】配列の受け取...
-
データベースから取得したデー...
-
同じ文字を探しカウントしたい
-
jspでの二次元配列
おすすめ情報