- 締切済み
合格、不合格をランダムに
こんばんわ。 前にもランダムの表示に関して質問しましたがまたわからなくなってしまって行き詰まってしまいました。 JSPでTOPページのボタンを押したときに当たり、またははずれのページを表示させたいのですがどうしたらいいのかわかりません。 当たりの場合はたとえば1ヶ月に5人だけとかして残り何日か残っていてすでに5人当選した場合ははずれの表示というようにしたいのですがどうしたら5人というのを設定できるのでしょうか? よろしくお願いします。
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- swedio1976
- ベストアンサー率40% (2/5)
java.utilパッケージはインポートしていますか? Randomクラスを使用する場合は必要です。
- swedio1976
- ベストアンサー率40% (2/5)
<どうやってあたりはずれを出したらいいものかと考え<ています。 当たり外れの出し方の問題なんですね。 //乱数の発生 Random objRdm = new Random(); objRdm.setSeed(System.currentTimeMillis()); int intNum = objRdm.nextInt(2); //当たり外れの判定 if(intNum == 0 || cnt >= 5){ ハズレページに遷移 } else if(intNum == 1){ cnt++; 当たりページに遷移 } else{ エラーメッセージ } *あなたの求めるものと違っていたら、また補足要求ください。それでは失礼します。
補足
ありがとうございます。 まさしく求めるものでした。 ただ、教えられたとおりに実行してみたのですがうまく実行できずに困ってしまっています。 助言をお願いします。
- t-satoh
- ベストアンサー率35% (211/591)
>上記については私も考えていましたが、どうやってあたりはずれを出したらいいものかと考えています。 >具体的にどうしたらいいのか教えてもらえたらうれしいです。 乱数を生成してその値で判断したり、時間から判断したりと、 何でも良いので基準を作って、当たりか外れの判断をすればよいだけでは? 当たった回数に関しては、変数で持っていても良いですが、 WEBアプリケーションが落ちるときに、ファイルに書き出しておいて、 起動時にそれを読み込むようにしたほうが良いかと思います。 それと、これだけだと、同じ人が何回もできてしまうので、 cookieに情報を書き込んで、それを防いだ方が良いでしょう。
- torakiyojp
- ベストアンサー率58% (25/43)
#2です。 ちょっと変数の保持方法をどうするのか知りたくて、#2の質問をしました。 >私はjavaのクラスファイルで当たりはずれの処理をしてそのクラスをJSPで呼び出して結果だけを<%= %>タグ内で表示する予定です。 クラスファイルというのが、サーブレットではないとすると、当たりをカウントする変数はstaticにするという事ですね。 サーブレットだとすると、当たりをカウントする変数はstaticもしくはインスタンス変数という事ですね。 的外れな事を言っていたらすみません。
- torakiyojp
- ベストアンサー率58% (25/43)
#1さんに便乗質問したいのですが。 変数というのはJSP上<%! %>タグで宣言するServletのインスタンス変数という理解で良いのでしょうか?
補足
ありがとうございます。 私はjavaのクラスファイルで当たりはずれの処理をしてそのクラスをJSPで呼び出して結果だけを<%= %>タグ内で表示する予定です。
- swedio1976
- ベストアンサー率40% (2/5)
あたりの場合変数を1増やせばいいですね。 それで、5人当選した場合というのは、変数が5だったらはずれのページに遷移するという風にすればいいのではと思います。
補足
ありがとうございます。 >変数が5だったらはずれのページに遷移するという風にすればいいのではと思います。 上記については私も考えていましたが、どうやってあたりはずれを出したらいいものかと考えています。 具体的にどうしたらいいのか教えてもらえたらうれしいです。
補足
ありがとうございます。 java.utilパッケージはインポート済みです。