【Java】キーボードからの入力を繰り返し実行する方法を解説

Java

今回の記事ではJavaを使ってキーボードからの入力を繰り返し受け取る方法を紹介していきます。

キーボード入力を受け取る方法

今回はScannerを使ってキーボードからの入力を受け取ります。
JavaではScannerの他にもBefferedReaderを使うことによってキーボードからの入力を受け取ることができます。詳しくは次の記事も参考にしてみてください。

Scannerクラスを使ってキーボード入力を受け付ける

基本的なScannerクラスの使い方は以下のとおりです。

import java.util.Scanner;

public class Kurikaeshi {

	public static void main(String[] args) {

		System.out.println("好きな偉人を教えてください");

		// Scannerクラスのインスタンスを生成する
		Scanner scan = new Scanner(System.in);
		// キーボードからの入力を受け取り変数に格納
		String greatMan = scan.nextLine();

		// 入力された値を使って出力する
		System.out.println("あなたが好きな偉人は" + greatMan + "なんですね");
	}
}

これを実行すると好きな偉人を聞かれます。

好きな偉人を教えてください
ニーチェ
あなたが好きな偉人はニーチェなんですね

キーボード入力を繰り返し受け付ける処理

今度はこれを繰り返し聞くようにプログラムを変更してみます。
while(true)を使うことによって無限ループとなり、何度もキーボードからの入力を受け付けることになります。
次のプログラムを確認してください。

import java.util.Scanner;

public class Kurikaeshi {

	public static void main(String[] args) {

		// Scannerクラスのインスタンスを生成する
		Scanner scan = new Scanner(System.in);

		// 無限ループとなり永遠とキーボード入力を受け付ける
		while(true) {
			System.out.println("好きな偉人を教えてください");

			// キーボードからの入力を受け取り変数に格納
			String greatMan = scan.nextLine();

			// 入力された値を使って出力する
			System.out.println("あなたが好きな偉人は" + greatMan + "なんですね");
		}
	}

}

これを実行すると何度も偉人の入力をすることになります。

好きな偉人を教えてください
ニーチェ
あなたが好きな偉人はニーチェなんですね
好きな偉人を教えてください
ソクラテス
あなたが好きな偉人はソクラテスなんですね
好きな偉人を教えてください
アリストテレス
あなたが好きな偉人はアリストテレスなんですね
好きな偉人を教えてください

特定の文字が入力された時に繰り返しを終了する

このままだと永遠と好きな偉人を聞かれ続け、いつしかネタがなくなってしまいます。
なので特定の文字列が入力された時に処理を終了するようにプログラムを変更します。

今回は「q」が入力された時に処理を終了するようにしましょう。
次のプログラムを確認してください。

import java.util.Scanner;

public class Kurikaeshi {

	public static void main(String[] args) {

		// Scannerクラスのインスタンスを生成する
		Scanner scan = new Scanner(System.in);

		// 無限ループとなり永遠とキーボード入力を受け付ける
		while(true) {
			System.out.println("好きな偉人を教えてください");
			// キーボードからの入力を受け取り変数に格納
			String greatMan = scan.nextLine();

			// break文を使ってqが入力されたときはループを抜ける
			if ("q".equals(greatMan)) {
				break;
			}

			// 入力された値を使って出力する
			System.out.println("あなたが好きな偉人は" + greatMan + "なんですね");
		}

		System.out.println("繰り返し処理を終了しました");
		scan.close();
	}
}

if文で条件判定をして、qが入力された場合にbreakでループを抜ける処理を加えています。
これを実行してみます。

好きな偉人を教えてください
ニーチェ
あなたが好きな偉人はニーチェなんですね
好きな偉人を教えてください
アリストテレス
あなたが好きな偉人はアリストテレスなんですね
好きな偉人を教えてください
始皇帝
あなたが好きな偉人は始皇帝なんですね
好きな偉人を教えてください
ビスマルク
あなたが好きな偉人はビスマルクなんですね
好きな偉人を教えてください
q
繰り返し処理を終了しました

繰り返しキーボードからの入力を受け付け、qが入力された時のみ処理を終了することができました。

まとめ

今回はJavaでキーボード入力を繰り返し実行する方法について解説してきました。
JavaではScannerクラスを利用することで、キーボードからの入力を受け付けることができます。
While文で無限ループとすることで、キーボード入力を繰り返し実行することができます。

特定の文字列が入力された場合に、繰り返し処理を終了する方法についても解説しました。
ぜひこれをマスターして、プログラミング学習に役立ててください!

Java・プログラミング初心者からエンジニアに就職、転職するまでの学習手順をまとめた記事がありますので、独学で勉強して、エンジニアを目指したい!という方はぜひ参考にしてみてください。

タイトルとURLをコピーしました