Scannerとは
コンソールに値を「入力」し、その値をプログラム内で使用するための外部ライブラリです。
この記事では、文字列を受け取る方法と、数値を受け取る方法について記述します。
文字列で受け取る方法について
文字列で受け取る手順は以下になります。
- ライブラリの読み込み
- Scannerの初期化
- 入力内容を受け取るための処理
ライブラリの読み込み
Scannerを利用するためには外部ライブラリを読み込むための記述が必要になります。
まず、class定義より上にimport java.util.Scanner;の記述を追加します。
import java.util.Scanner;
class Main {
public static void main (String[] args) {
System.out.print("名前: ");
}
}
Scannerの初期化
次に、Scannerを初期化するために、Scanner scanner = new Scanner(System.in);の記述を追加します。
new Scanner(System.in)でScannerを初期化し、変数scannerに代入しています。
import java.util.Scanner;
class Main {
public static void main (String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("名前: ");
}
}
入力内容を受け取るための処理
最後に、String name = scanner.next();の記述を追加します。
scanner.next()と記述することで、変数nameに入力された文字列を代入できます。
import java.util.Scanner;
class Main {
public static void main (String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("名前: ");
String name = scanner.next();
System.out.println("こんにちは" + name + "さん");
}
}
数値で受け取る方法について
数値で受け取る手順についても以下の手順になりますが、文字列で受け取る手順と共通部分があるため、1と2は省略します。
- ライブラリの読み込み
- Scannerの初期化
- 入力内容を受け取るための処理
入力内容を受け取るための処理
以下のファイルに数値で受け取るための記述を追加していきます。
(手順1、2を終えた状態です)
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("年齢:");
System.out.print("身長(m):");
}
}
年齢の値を受け取るために、
int age = scanner.nextInt();
の記述を追加します。
文字列で受け取る手順との相違点としてnextInt()と記述することで、データ型を指定しています。
なお、文字列で受け取るときに、nextString()などと記述するとエラーになるので注意です。
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("年齢:");
int age = scanner.nextInt();
System.out.print("身長(m):");
double height = scanner.nextDouble();
}
}