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」またはそれ以外の文字を入力すると、プログラムが終了します。このような入力に基づく制御構造は、対話的なプログラムや繰り返しの必要がある場面で有用です。