問題
コンピュータに0~99までの乱数(正解値)を発生させて、プレイヤーは値をコンソールに入力して
正解値と一致したら、その値と何回で正解したかをコンソールに表示する。
一致しなければ、正解値が入力値よりも大きいか小さいかを表示する数字当てゲームを作成しなさい。
答えはこちら
答え
答え
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
package javalogic; import java.util.Random; import java.util.Scanner; public class JavaLogic10 { public static void main(String[] args) { //コンピュータに0~99までの乱数(正解値)を発生させて、プレイヤーは値をコンソールに入力して //正解値と一致したら、その値と何回で正解したかをコンソールに表示する。 //一致しなければ、正解値が入力値よりも大きいか小さいかを表示する数字当てゲームを作成しなさい。 Random random = new Random(); int randomVal = random.nextInt(100); Scanner sc = new Scanner(System.in); int count = 0; while(true) { System.out.println("値を入力してください"); int val = sc.nextInt(); if(randomVal>val) { System.out.println("正解値より小さいです"); count++; }else if(randomVal<val) { System.out.println("正解値より大きいです"); count++; }else if(randomVal == val) { System.out.println("正解です"); System.out.println(count+"度で正解を当てました"); break; } } } } |
ヒント
ヒント1:乱数の発生させ方
下記のように記述すれば0~99の範囲で乱数を発生させられます。
1 2 |
Random random = new Random(); int randomVal = random.nextInt(100); |
ヒント2:ロジックの考え方
数値を入力して、正解値と一致しない間処理を繰り返すwhile文を使います。
while文の中では一致したらwhileをbreakする。小さい場合、大きい場合にそのようにコンソールに表示するというif分岐を3つ作ります。
コメント