Java ユーザー入力 (スキャナー)
Java ユーザー入力
Scanner
クラスはユーザー入力を取得するために使用され、java.util
パッケージにあります。
Scanner
クラスを使用するには、クラスのオブジェクトを作成し、Scanner
クラスのドキュメントにある使用可能なメソッドのいずれかを使用します。この例では、文字列の読み取りに使用されるnextLine()
メソッドを使用します。
例
import java.util.Scanner; // Import the Scanner class
class Main {
public static void main(String[] args) {
Scanner myObj = new Scanner(System.in); // Create a Scanner object
System.out.println("Enter username");
String userName = myObj.nextLine(); // Read user input
System.out.println("Username is: " + userName); // Output user input
}
}
パッケージがわからない場合は、Java パッケージのチュートリアルをお読みください。
入力タイプ
上の例では、文字列の読み取りに使用されるnextLine()
メソッドを使用しました。他のタイプを読み取るには、以下の表を参照してください。
方法 | 説明 |
---|---|
nextBoolean() |
ユーザーからブール値を読み取ります |
nextByte() |
ユーザーからバイト値を読み取ります |
nextDouble() |
ユーザーから double 値を読み取ります |
nextFloat() |
ユーザーから浮動小数点値を読み取ります |
nextInt() |
ユーザーから int 値を読み取ります |
nextLine() |
ユーザーから文字列値を読み取ります |
nextLong() |
ユーザーから長い値を読み取ります |
nextShort() |
ユーザーから短い値を読み取ります |
以下の例では、さまざまなメソッドを使用してさまざまなタイプのデータを読み取ります。
例
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner myObj = new Scanner(System.in);
System.out.println("Enter name, age and salary:");
// String input
String name = myObj.nextLine();
// Numerical input
int age = myObj.nextInt();
double salary = myObj.nextDouble();
// Output input by user
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("Salary: " + salary);
}
}
注:間違った入力 (数値入力のテキストなど) を入力すると、例外/エラー メッセージ ("InputMismatchException" など) が表示されます。
例外とエラーの処理方法について詳しくは、例外の章.
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。