Java プログラムでは、コマンド ライン環境でユーザーからの入力を読み取り、ユーザー入力を取得する 3 つの方法、Java BufferedReader クラス、Java Scanner クラス、および Console クラスがあります。クラスについて詳しく説明しましょう。 Scanner クラスを使用してユーザー入力を取得します。このプログラムはユーザーに整数、文字列、および浮動小数点数を入力するように要求し、それがディスプレイに表示されます。 java.util のスキャナ クラスは、このパッケージをソフトウェアに追加できるように存在します。まず、Scanner Class オブジェクトを作成し、Scanner Class メソッドを使用します。
ユーザー入力を読み取るには 3 つの方法があります:
広告 このカテゴリーの人気コース JAVA マスタリー - スペシャライゼーション | 78 コース シリーズ | 15 回の模擬テスト無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
これら 3 つのクラスについては以下で説明します。それらについて詳しく説明しましょう:
リーダークラスを拡張します。 BufferedReader は、文字入力ストリームから入力を読み取り、文字をバッファリングして、すべての入力を効率的に読み取ることができます。デフォルトのサイズはバッファリング用に大きくなっています。ユーザーが読み取りリクエストを行うと、対応するリクエストがリーダーに送られ、リーダーは文字またはバイト ストリームの読み取りリクエストを行います。したがって、BufferedReader クラスは、FileReader や InputStreamReaders などの別の入力ストリームにラップされます。
例:
BufferedReader reader = new BufferedReader(new FileReader("foo.in"));
BufferedReader は、readLine() メソッドを使用してデータを 1 行ずつ読み取ることができます。
BufferedReader を使用すると、コードのパフォーマンスを高速化できます。
BufferedReader には次の 2 つのコンストラクターがあります:
1. BufferedReader(リーダー リーダー): 入力バッファーのデフォルト サイズを使用するバッファリングされた入力文字ストリームを作成するために使用されます。
2. BufferedReader(リーダー リーダー、入力サイズ): 入力バッファーに指定されたサイズを使用する、バッファリングされた入力文字ストリームを作成するために使用されます。
ユーザーがキーボードから文字を入力すると、その文字はデバイス バッファーによって読み取られ、次に System.in からバッファー リーダーまたは入力ストリーム リーダーに渡されて、入力バッファーに保存されます。
コード:
import java.util.*; import java.lang.*; import java.io.*; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /*package whatever //do not write package name here */ class BufferedReaderDemo { public static void main (String[] args) throws NumberFormatException, IOException { System.out.println("Enter your number"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int t = Integer.parseInt(br.readLine()); System.out.println("Number you entered is: " + t); System.out.println("Enter your string"); String s = br.readLine(); System.out.println("String you entered is: " + s); } }
出力:
InputStreamReader と BufferedReader からの読み取りを伴うプログラム:
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class BufferedReaderDemo { public static void main(String args[]) throws IOException{ InputStreamReader reader = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(reader); System.out.println("What is your name?"); String name=br.readLine(); System.out.println("Welcome "+name); } }
出力:
java.util.スキャナ クラスは、キーボードからのユーザー入力を読み取るために使用されるクラスの 1 つです。 util パッケージで入手できます。スキャナ クラスは、デフォルトではほとんどが空白である区切り文字を使用してユーザー入力を分割します。スキャナには、double、int、float、long、Boolean、short、byte などの多くのプリミティブ型のコンソール入力を読み取るためのメソッドが多数あります。これは、Java で入力を取得する最も簡単な方法です。 Scanner クラスは Iterator インターフェイスと Closeable インターフェイスを実装します。スキャナーは、プリミティブ型の入力を読み取るための nextInt() と多くのプリミティブ型メソッドを提供します。 next() メソッドは文字列入力に使用されます。
Below are mentioned the method to scan the primitive types from console input through Scanner class.
Program to read from Scanner Class:
Using scanner class. import java.util.Scanner; /*package whatever //do not write package name here */ class ScannerDemo { public static void main (String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter your number"); int t = sc.nextInt(); System.out.println("Number you entered is: " + t); System.out.println("Enter your string"); String s = sc.next(); System.out.println("String you entered is: " + s); } }
Output:
Using the console class to read the input from the command-line interface. It does not work on IDE.
Code:
public class Main { public static void main(String[] args) { // Using Console to input data from user System.out.println("Enter your data"); String name = System.console().readLine(); System.out.println("You entered: "+name); } }
Output:
以上がJava ユーザー入力の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。