Menu
Coddy logo textTech

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() を使って閉じるのがよい習慣です。

challenge icon

チャレンジ

初心者

ユーザーから入力(名前)を受け取り、その後、Hello, にユーザーが入力した名前を続けて出力するプログラムを書きなさい。

例えば、ユーザーがBobと入力した場合、期待される出力はHello, Bobです。

次のことを行う必要があります:

  1. 入力を読み取るためのScannerオブジェクトを作成する。
  2. 正確にEnter your name: を使用して、ユーザーに名前の入力を促す。
  3. 適切なScannerメソッドを使用して、ユーザーの名前を読み取る。
  4. 最後にHello, と保存された変数を出力する。

自分で試してみよう

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        // Scannerオブジェクトを作成する
        Scanner scanner = new Scanner(System.in);
        
        // ユーザーに名前の入力を促す
        
        
        // ユーザーの名前を読み取る
        
        
        // 挨拶メッセージを表示する
        
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Javaオンラインコンパイラ