Java で System.in からの入力を読み取る

Mohammad Irfan 2023年10月12日
  1. Java で System.in を使用して入力を読み取る
  2. Java の System.in および BufferedReader クラスを使用して入力を読み取る
  3. Java で System.console() メソッドを使用して入力を読み取る
Java で System.in からの入力を読み取る

このチュートリアルでは、Java の System.in を使用してコンソールからユーザー入力を読み取る方法を紹介します。

Java は、ユーザー入力を読み取るための低レベルのストリームクラス System を提供します。これは、入力ストリームを使用して入力を読み取ります。System は、システム関連のタスクを実行するのに役立つ Java のクラスです。

これを Scanner クラスに渡し、そのメソッドを使用することができます。Stringintfloat などのいくつかのタイプのユーザー入力を取得できます。いくつかの例で理解しましょう。

Java で System.in を使用して入力を読み取る

Java コードで System.in を使用するのは簡単です。Scanner コンストラクターでクラスを渡し、nextLine() メソッドを使用します。このメソッドは文字列を読み取って返します。

以下の例を参照してください。

import java.util.Scanner;

public class SimpleTesting {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.println("Enter a value :");
    String str = sc.nextLine();
    System.out.println("User input: " + str);
  }
}

出力:

Enter a value :
2
User input: 2

Java の System.in および BufferedReader クラスを使用して入力を読み取る

これは、Scanner クラスではなく BufferedReader クラスを使用したユーザー入力を読み取るための別のソリューションです。このコードは同じタスクを実行し、ここで readLine() メソッドを使用してデータを読み取りました。

このメソッドは BufferedReader クラスに属し、文字列を返します。以下の例を参照してください。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class SimpleTesting {
  public static void main(String[] args) throws IOException {
    System.out.println("Enter a value :");
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String str = br.readLine();
    System.out.println(str);
  }
}

出力:

Enter a value :
sam
sam

Java で System.console() メソッドを使用して入力を読み取る

Java の System クラスは、コンソール関連のタスクを処理するための console() メソッドを提供します。したがって、データを読み取るために、この方法も使用できます。

このメソッドは、readLine() メソッドを呼び出してデータを読み取ることができるコンソールオブジェクトを返します。以下の例を参照してください。

import java.io.Console;
import java.io.IOException;

public class SimpleTesting {
  public static void main(String[] args) throws IOException {
    Console c = System.console();
    System.out.println("Enter a value : ");
    String str = c.readLine();
    System.out.println(str);
  }
}

出力:

Enter a value :
sam
sam

Java Scanner クラスは、ユーザーデータを読み取るために一般的に使用され、各データ型のメソッドを提供します。

これらのメソッドを使用して、特定のデータを読み取ることができます。それらのいくつかを以下に示します。

public int nextInt(); // reads integer input
public float nextFloat(); // reads decimal input
public String nextLine(); // reads string input

以下の例では、これらのメソッドを使用して、Java でさまざまなタイプのユーザー入力を読み取りました。Java コンソールを理解するのに役立ちます。

以下の例を参照してください。

import java.io.IOException;
import java.util.Scanner;

public class SimpleTesting {
  public static void main(String[] args) throws IOException {
    Scanner sc = new Scanner(System.in);
    System.out.println("Enter a string value : ");
    String str = sc.nextLine();
    System.out.println(str);
    System.out.println("Enter an int value : ");
    int a = sc.nextInt();
    System.out.println(a);
    System.out.println("Enter a float value : ");
    float f = sc.nextFloat();
    System.out.println(f);
  }
}

出力:

Enter a string value : 
string
string
Enter an int value : 
23
23
Enter a float value : 
34
34.0

関連記事 - Java Input