006 繰り返し(do〜while文) 017 解答例

import java.util.Scanner;

public class DoWhileExample {
    public static void main(String[] args) {
        // Scannerオブジェクトの作成
        Scanner scanner = new Scanner(System.in);

        do {
            // ユーザーに整数の入力を促すメッセージ
            System.out.print("整数を入力してください (0を入力すると終了): ");

            // ユーザーからの整数の入力を受け取る
            int userInput = scanner.nextInt();

            // 入力された整数が0でない限り表示し続ける
            if (userInput != 0) {
                System.out.println("入力された整数: " + userInput);
            }

        } while (userInput != 0);

        // プログラムの終了前にScannerオブジェクトをクローズ
        scanner.close();
    }
}

このプログラムでは、ユーザーに整数を入力させ、入力された整数が0でない限り、入力された整数を表示し続けます。0が入力されると、ループが終了します。プログラムの最後で scanner.close() を呼び出して、Scanner オブジェクトをクローズしています。

do-while文のブロックの中で入力を受け、その結果で判定する

do-while文のブロックの中で入力を受け、その結果で判定するプロセスは、ユーザーに対して何らかの質問や操作を行い、その結果を使ってループの制御を行う方法です。以下に、このプロセスの一般的な手順と解説を示します。

do-while文の基本構造:

do-while 文はまずループ本体を実行し、その後に条件を評価します。このため、最初に一度はループ本体が実行されます。

do {
    // ループ本体
} while (条件式);

ユーザーからの入力の受け取り:

Scanner クラスを使用してユーザーからの入力を受け取ります。このとき、変数に入力値を格納します。

Scanner scanner = new Scanner(System.in);
int userInput = scanner.nextInt();

ユーザーからの入力を使った処理:

入力された値に基づいて条件判定や処理を行います。

if (userInput == 0) {
    // ループを終了するための条件が満たされた場合の処理
} else {
    // 入力に応じた処理
}

変数の更新:

ループ本体で必要な変数の更新を行います。これによって、次の繰り返しに備えます。

// 例: ユーザーに新しい入力を促すメッセージを表示
System.out.print("新しい整数を入力してください: ");
userInput = scanner.nextInt();


以下に、これらのステップを組み合わせて、「do-while文のブロックの中で入力を受け、その結果で判定する」プログラムの一部を示します。

import java.util.Scanner;

public class DoWhileInputExample {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        char userResponse;

        do {
            // ユーザーに続行するかどうかを尋ねるメッセージを表示
            System.out.print("続行しますか? (y/n): ");

            // ユーザーからの入力を受け取る
            userResponse = scanner.next().charAt(0);

            // ユーザーの入力に応じた処理
            if (userResponse == 'y' || userResponse == 'Y') {
                System.out.println("プログラムが続行されます!");
            } else {
                System.out.println("プログラムを終了します。");
            }

        } while (userResponse == 'y' || userResponse == 'Y');

        scanner.close();
    }
}

このプログラムでは、ユーザーに「続行しますか?」と尋ね、ユーザーが「y」または「Y」を入力する限り、ループが続きます。ユーザーが「n」またはそれ以外の文字を入力すると、プログラムが終了します。このような入力に基づく制御構造は、対話的なプログラムや繰り返しの必要がある場面で有用です。

「006 繰り返し」問題集リスト