Scannerクラス
CoddyのJavaジャーニー「基礎」セクションの一部。レッスン 35/73。
これまでは、考えた値を変数に格納してきました。通常、プログラムはこのようには動作しません。たとえば、ユーザーなどの外部ソースから値を受け取ります。
Javaでは、ユーザーからの入力の取得にはScannerクラスを使用します。このクラスには、整数、浮動小数点数、文字列など、さまざまな種類の入力を読み取るメソッドが用意されています。
Scannerクラスを使用するには、まずそのインスタンスを作成し、標準入力ストリームSystem.inに関連付ける必要があります。次のように記述します。
Scanner scanner = new Scanner(System.in);Scanner オブジェクトを取得したら、そのメソッドを使って入力を読み取ることができます。
よく使われるメソッドをいくつか紹介します:
nextInt():整数を読み取ります。nextDouble():double型の値を読み取ります。nextLine():テキストの行(文字列)を読み取ります。
ユーザーから入力を受け取る方法の例を次に示します。
Scanner scanner = new Scanner(System.in);
System.out.print("Enter your age: ");
int age = scanner.nextInt();
System.out.println("Your age is: " + age);この例では、プログラムは user に their age を入力するよう促し、nextInt() を使用して整数を読み取り、その後それをコンソールに出力します。
Scanner の使用が終わったら、関連付けられたリソースを解放するために、scanner.close() を使って閉じるのがよい習慣です。
チャレンジ
初心者ユーザーから入力(名前)を受け取り、その後、Hello, にユーザーが入力した名前を続けて出力するプログラムを書きなさい。
例えば、ユーザーがBobと入力した場合、期待される出力はHello, Bobです。
次のことを行う必要があります:
- 入力を読み取るための
Scannerオブジェクトを作成する。 - 正確に
Enter your name:を使用して、ユーザーに名前の入力を促す。 - 適切な
Scannerメソッドを使用して、ユーザーの名前を読み取る。 - 最後に
Hello,と保存された変数を出力する。
自分で試してみよう
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// Scannerオブジェクトを作成する
Scanner scanner = new Scanner(System.in);
// ユーザーに名前の入力を促す
// ユーザーの名前を読み取る
// 挨拶メッセージを表示する
}
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Javaオンラインコンパイラ