Menu
Coddy logo textTech

Scanner Class

CoddyのJavaジャーニー「基礎」セクションの一部 — レッスン 35/73。

これまで、私たちが考えた値を変数に格納してきました。プログラムは通常このようには動作しません。例えばユーザーなどの外部ソースから値を受け取ります。

Javaでは、ユーザーからの入力はScannerクラスを使用して行います。このクラスは、整数、浮動小数点数、文字列などの異なる種類の入力を読み取るためのメソッドを提供します。

Scanner クラスを使用するには、まずそのインスタンスを作成し、標準入力ストリーム System.in と関連付ける必要があります。以下のようにします:

Scanner scanner = new Scanner(System.in);

Scanner オブジェクトを取得したら、そのメソッドを使用して入力を読み取ることができます。

以下は一般的に使用されるメソッドです:

  • nextInt(): 整数を読み取ります。
  • nextDouble(): doubleを読み取ります。
  • nextLine(): 1行のテキスト(文字列)を読み取ります。

ユーザーから入力を受け取る方法の例です:

Scanner scanner = new Scanner(System.in);
System.out.print("Enter your age: ");
int age = scanner.nextInt();
System.out.println("Your age is: " + age);

この例では、プログラムはユーザーに年齢の入力を促し、nextInt()を使用して整数を読み取り、それをコンソールに再出力します。

Scanner の使用が終わったら、scanner.close() を使用してそれを閉じるのが良い習慣です。これにより、それに関連付けられたリソースが解放されます。

challenge icon

チャレンジ

初心者

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

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

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

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

チートシート

Java でユーザー入力を取得するには、Scanner クラスを使用します:

Scanner scanner = new Scanner(System.in);

一般的な Scanner メソッド:

  • nextInt(): 整数を読み取る
  • nextDouble(): 倍精度浮動小数点数を読み取る
  • nextLine(): テキストの行(文字列)を読み取る

ユーザー入力を読み取る例:

Scanner scanner = new Scanner(System.in);
System.out.print("Enter your age: ");
int age = scanner.nextInt();
System.out.println("Your age is: " + age);

完了したらスキャナーを閉じてリソースを解放します:

scanner.close();

自分で試してみよう

import java.util.Scanner;

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

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

基礎のすべてのレッスン