• 締切済み

Java問題 できればソースコードを教えて下さい。

コンピュータが1から10までの整数のどれか1つを準備します.それを当てるゲームです. 最初の持ち点が5点で,一度間違える毎に1点減点されます.0点で解答権がなくなります. while文,break文を利用して実現しなさい. . ※ 1~10の整数の乱数は, (int)(Math.random() * 10 + 1) で生成できます. ※ 効率よく動作確認を実行するため,ゲーム本体のループの直前で,答えを表示させ, その値を参考にして成功例,失敗例を確認してもよい. 【成功例】 1~10の整数を1つ当てるゲームです. 現在の得点: 5 数字を入力して下さい > 6 現在の得点: 4 数字を入力して下さい > 7 おめでとうございます.得点: 4 【失敗例】 1~10の整数を1つ当てるゲームです. 現在の得点: 5 数字を入力して下さい > 4 現在の得点: 4 数字を入力して下さい > 3 現在の得点: 3 数字を入力して下さい > 5 現在の得点: 2 数字を入力して下さい > 2 現在の得点: 1 数字を入力して下さい > 1 残念でした.正解は 9 でした. お願いします . この質問に補足する.

みんなの回答

  • nor_miya
  • ベストアンサー率0% (0/0)
回答No.1

ソースコードです。 なお、例外処理は行なっていません。 stringBuilderを使用していません。 import java.util.Scanner; public class HowManyGame { public static void main(String[] args) { // 得点。最初は5点。 int point = 5; // 正解の数字を作成 int x = (int) (Math.random() * 10 + 1); // 入力スキャナを準備 Scanner scan = new Scanner(System.in); // ゲームの説明 System.out.println("1~10の整数を1つ当てるゲームです."); // ループの直前で答えを表示 // System.out.println("[動作確認用表示:正解は" + x + "]"); // ループ while (true) { // 現在の得点を表示 System.out.println("現在の得点: " + point); // 数字の入力を促す System.out.print("数字を入力して下さい > "); // 数字の入力 int answer = scan.nextInt(); // 入力結果が答えと合っているか判定 if (answer == x) { // 成功の旨を表示 System.out.println("おめでとうございます.得点: " + point); // ループを抜ける break; } // 得点が1点しか無いか判定 if (point < 2) { // 失敗した旨を表示 System.out.println("残念でした.正解は " + x + " でした."); // ループを抜ける break; } // ポイントを1引く point--; } // 入力スキャナをクローズ scan.close(); } }

関連するQ&A