006 繰り返し(while文) 014 解答例

import java.util.Scanner;

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

        // 初期化
        int sum = 0;
        int userInput = 1; // 初期値を1に設定

        // 条件式: userInputが0でない限り続行
        while (userInput != 0) {
            // ユーザー入力を受け取る
            System.out.print("整数を入力してください(0を入力すると終了): ");
            userInput = scanner.nextInt();

            // 入力が0でない場合は入力を合計に加算
            sum += userInput;
        }

        // 合計を表示
        System.out.println("入力された整数の合計: " + sum);

        // Scannerをクローズ
        scanner.close();
    }
}

このプログラムでは、while の条件式に userInput != 0 を使用しています。従って、userInput が0でない限りループは続行します。これにより、break を使用せずに同様の効果を達成しています。

while文の条件式

while文の条件式は、ループが継続するかどうかを判定するための式です。この条件式が真(true)である限り、ループは繰り返されます。条件式が偽(false)になると、ループから抜け出します。

基本的なwhile文の構造は以下の通りです。

while (条件式) {
    // ループ本体
    // 条件式が真の場合に実行される処理
}
  • 条件式:
    • ループが続行されるかどうかを判断するための論理式(Boolean式)を指定します。
    • 条件が真であれば、ループ本体が実行されます。
    • 条件が偽であれば、while文から抜け出されます。

条件式は通常、変数の値や比較演算子、論理演算子を使用して構築されます。以下はいくつかの例です。

例1: 変数の値を使用する場合

int count = 0;
while (count < 10) {
    // ループ本体
    // countが10未満の間、繰り返される処理
    count++;
}

例2: 比較演算子を使用する場合

int x = 5;
while (x > 0) {
    // ループ本体
    // xが0より大きい間、繰り返される処理
    x--;
}

例3: 論理演算子を使用する場合

boolean flag = true;
while (flag) {
    // ループ本体
    // flagがtrueの間、繰り返される処理
    // flagがfalseになるとループを抜ける
    flag = someCondition(); // 何らかの条件に基づいてflagを変更
}

これらの例では、条件式が満たされている限りループが続きます。条件が偽になると、while文から抜け出され、プログラムはその後のステートメントに進みます。条件式の評価はループの先頭で行われ、ループ本体が実行される前に評価されます。

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