はじめに
Javaでコンソールからのユーザー入力を受け取る場合やファイルからの入力を扱う場合には、java.util.Scannerクラスが便利です。Scannerクラスは入力ストリームからデータを読み取るための高水準なメソッドを提供しており、シンプルな使い方で入力処理を実装することができます。本記事では、Scannerクラスの基本的な使い方について学習したのでアウトプットします
Scannerクラスの作成
まず最初に、ScannerクラスのAPIをインポートしたのち、インスタンスを作成する必要があります。以下のコードを使用してScannerを作成します。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 入力処理を行う
scanner.close();
}
}
上記の例では、System.inを指定して標準入力からの入力を受け取るScannerインスタンスを作成しています。
入力の読み取り
Scannerクラスの主要なメソッドを使用して、異なるデータ型の入力を読み取ることができます。以下に代表的なメソッドを示します。
整数の入力を読み取る
int number = scanner.nextInt();
nextInt()メソッドは、標準入力から次の整数を読み取ります。
小数の入力を読み取る
double decimal = scanner.nextDouble();
nextDouble()メソッドは、標準入力から次の小数を読み取ります。
文字列の入力を読み取る
String text = scanner.next();
next()メソッドは、標準入力から空白文字で区切られた次の単語や文字列を読み取ります。
1行全体の入力を読み取る
String line = scanner.nextLine();
nextLine()メソッドは、標準入力から1行全体を読み取ります。
入力の確認と処理の制御
Scannerクラスでは、入力が特定のデータ型に一致するかどうかを判定するためのメソッドも提供されています。例えば、次の整数が入力されたかどうかを確認するには、hasNextInt()メソッドを使用します。
if (scanner.hasNextInt()) {
int number = scanner.nextInt();
// 入力が整数の場合の処理
} else {
// 入力が整数ではない場合の処理
}
hasNextInt()メソッドは、次の入力が整数であるかどうかを判定します。条件に応じて処理を分岐させることができます。
Scannerのクローズ
Scannerを使用した入力処理が完了したら、close()メソッドを呼び出してScannerをクローズし、リソースの解放を行いましょう。
scanner.close();
まとめ
この記事では、Javaの入力処理におけるScannerクラスの基本的な使い方について解説しました。Scannerクラスを使用することで、標準入力やファイルからの入力を簡単に読み取ることができます。