Javaで数字当てゲームを作る演習|while・if・breakを組み合わせよう|確認問題の回答例

Schoo Java入門 初級【2026年版】

このページは、Javaで数字当てゲームを作る演習|while・if・breakを組み合わせようの確認問題を見直すためのページです。先に自分で考えてから、回答例と見比べてください。

第1問:回答例

ファイル名: NumberGuessMessage.java

import java.util.Scanner;

public class NumberGuessMessage {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int answer = (int) (Math.random() * 10) + 1;

        while (true) {
            System.out.print("数字を入力してください:");
            int input = scanner.nextInt();

            if (input == answer) {
                System.out.println("正解です!");
                break;
            }

            System.out.println("違います!");
        }
    }
}

正解メッセージを表示したあとに break すると、while文を抜けられます。正解したときだけ終了する流れです。

第2問:回答例

ファイル名: NumberGuessRange.java

import java.util.Scanner;

public class NumberGuessRange {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int answer = (int) (Math.random() * 10) + 1;

        while (true) {
            System.out.print("数字を入力してください:");
            int input = scanner.nextInt();

            if (input < 1 || input > 10) {
                System.out.println("1〜10の数字を入力してください。");
                continue;
            }

            if (input == answer) {
                System.out.println("正解です!");
                break;
            }

            System.out.println("違います!");
        }
    }
}

範囲外の入力は正解判定に進めず、continue で次の入力へ進みます。条件式は「1未満 または 10より大きい」と読みます。

第3問:回答例

ファイル名: NumberGuessCount.java

import java.util.Scanner;

public class NumberGuessCount {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int answer = (int) (Math.random() * 10) + 1;
        int times = 0;

        while (true) {
            System.out.print("数字を入力してください:");
            int input = scanner.nextInt();
            times++;

            if (input == answer) {
                System.out.println(times + "回で正解です!");
                break;
            }

            System.out.println("違います!");
        }
    }
}

入力を受け取るたびに times を1増やすと、正解までの入力回数を数えられます。回数を数える変数は、while文の前で用意します。

元の記事に戻る

Javaで数字当てゲームを作る演習|while・if・breakを組み合わせよう