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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
つい集めてしまうものはなんですか?
人間誰もは1つ「やたらこればかり集めてしまう」というものがあるもの。 あなたにとって、つい集めてしまうものはなんですか?
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
これ何て呼びますか Part2
あなたのお住いの地域で、これ、何て呼びますか?
-
許せない心理テスト
私は「あなたの目の前にケーキがあります。ろうそくは何本刺さっていますか」と言われ「12本」と答えたら「ろうそくの数はあなたが好きな人の数です」と言われ浮気者扱いされたことをいまだに根に持っています。
-
「お昼の放送」の思い出
小学校から中学校、ところによっては高校まで お昼休みに校内放送で、放送委員が音楽とかおしゃべりとか流してましたよね。 最近は自分でもラジオができるようになって、そのクオリティもすごいことになっていると聞きます。
-
Java、2の0乗~10乗の表示
Java
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Java配列の問題を教えてくださ...
-
java
-
エラーのStackTraceをString変...
-
C#で動的配列Listの中身をListB...
-
配列をセッションに割り当てた後で
-
C言語でunsigned char配列を連...
-
hiddenの値が期待した値で取得...
-
大量のデータを読み込んで表示...
-
パソコンキーボードで時分秒を...
-
VBAで配列の計算
-
C#の質問
-
JAVAのfor文で困っています。
-
Java 入力した整数値の合計を、...
-
ORA-01858: 数値を指定する箇所...
-
変数を動的に作るには?
-
演算子 ^ は double,double に...
-
ダブルクォーテーションのrepla...
-
1~100までの数字を表示し、か...
-
java プログラミングについて
-
iPhoneでのjavascriptで音を出...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Javaで文字と数字が混ざったも...
-
[Ljava.lang.Stringってなんですか
-
main(String[] args) の args...
-
この警告はどうすれば?
-
【C#】ハッシュテーブル(連想...
-
javamailで複数人にメールを送...
-
jspでの二次元配列
-
配列をセッションに割り当てた後で
-
同じ配列またはクラスを、2回...
-
java
-
Javaで文字を漢字であるか否か...
-
csvファイルを2次元配列に格納
-
配列の中に複数存在する数がい...
-
配列で、値の入っている要素数...
-
JavaのBase64デコードで正しく...
-
C言語でunsigned char配列を連...
-
C#で動的配列Listの中身をListB...
-
【Ajax通信&Java】配列の受け取...
-
javaについて
-
javaでEUC-JP文字列→UTF-8への変換
おすすめ情報