Javaでユーザー入力を取得する方法[例付き]

公開: 2021-05-27

目次

序章

Javaでユーザー入力を取得することは、Javaで成功するソフトウェアを作成するための最初のステップです。 Javaプログラムは、マウス、キーボード、ネットワーク要求、CLI引数など、さまざまな入力ソースを介してユーザーからの入力を収集します。Javaには、入出力操作を実行するためにプログラムにインポートできるさまざまなI/Oパッケージもあります。 これらのパッケージは、double、integer、stringsなどのプリミティブ型の入力をサポートします。

この記事では、Javaでユーザー入力を取得するためのScanner、BufferedReader、InputStreamReaderなどのメソッドに焦点を当てます

Scannerクラスを使用してJavaで入力を取得する方法は?

Scannerクラスは、すべてのプリミティブ型入力を解析および処理する「java.util」パッケージのメソッドの1つです。 Scannerクラスは、ユーザーに入力の入力を求め、画面またはコンソールに同じものを印刷します。 プログラムの「java.util」パッケージからScannerクラスをインポートし、そのメソッドを使用するオブジェクトを作成できます。

例えば、

スキャナーテスト=新しいスキャナー(System.in);

上記のステートメントでは、testはオブジェクトの名前であり、System.inは入力ストリームです。 作成されたScannerインスタンスは、Javaでのユーザー入力をスキャンします

注:プログラムの入力文字列としてSystem.inを記述する必要はありません。 入力ストリームとして文字列を読み取るファイルとファイルに置き換えることができます。

例えば、

スキャナーテスト=newScanner(new FileInputStream(“ testFile.txt”)、“ UTF-8”);

編集が完了したら、必ずコード{test.close()}を記述してスキャナーを閉じてください。

ユーザーからの入力を読み取るためのスキャナーメソッド

次の表に、スキャナーがユーザーが入力したJavaの入力を読み取るために使用するメソッドを示します。

方法返品タイプ説明
次() ストリングスキャナーから次のトークンを返します
nextByte() バイト次の入力をバイトとして読み取ります。
nextFloat() 浮く次の入力をfloatとして読み取ります。
nextInt() 整数次の入力を整数として読み取ります。
nextShort() 短い次の入力をショートとして読み取ります。
nextLong() 長さ次の入力をlongとして読み取ります。
nextBoolean() ブール値次の入力をブール値として読み取り、値を返します。
nextLine() ストリングスキャナーを1行進め、スキップされた入力を返します。

次のJavaプログラムは、Scannerクラスを使用して、 Javaでのユーザー入力(文字列、整数、およびフロート)を取得します。

java.util.Scannerをインポートします。

クラスTakeUserInput

{{

public static void main(String args [])

{{

int a;

フロートb;

文字列c;

スキャナーテスト=新しいスキャナー(System.in);

//ユーザー入力を文字列として取得します

System.out.println( "文字列を入力してください:");

c = in.nextLine();

System.out.println( "ユーザー入力文字列は次のとおりです:" + c);

//ユーザー入力を整数として受け取ります

System.out.println( "整数を入力してください:");

a = in.nextInt();

System.out.println( "ユーザー入力整数は次のとおりです:" + a);

//ユーザー入力をfloatとして取得します

System.out.println( "フロート番号を入力してください:");

b = in.nextFloat();

System.out.println( "ユーザー入力フロート番号は次のとおりです:" + b);

}}

出力

文字列を入力します。

アンドリュー

ユーザー入力文字列は次のとおりです。Andrew

整数を入力してください:

03

ユーザー入力整数は次のとおりです:03

浮動小数点数を入力します。

61.46

ユーザー入力フロート番号は次のとおりです:61.46

スキャナークラスを使用したJavaでの入力の取得について詳しく知りたい場合は、Scannerブログを使用したJavaでの複数文字列入力を確認してください。

BufferedReaderおよびInputStreamReaderメソッド

BufferedReaderは、文字ベースの入力ストリームから文字のストリームをスキャンするJavaの別のクラスです。 InputStreamReaderは、入力ストリームをBufferedReaderがスキャンする文字のシーケンスに変換するJavaの関数です。 BufferedReaderクラスは、InputStreamをパラメーターとして受け入れます。

BufferedReaderクラスは、read()メソッドとreadLine()メソッドを使用して、文字と次の行を読み取り、それらを返します。

BufferedReaderクラスを作成するには、java.io.BufferedReaderパッケージをインポートする必要があります。

//FileReaderを作成します

FileReader test = new FileReader(String file);

//BufferedReaderを作成します

BufferedReader a = new BufferedReader(test);

世界のトップ大学からソフトウェアエンジニアリングの学位をオンラインで取得します。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。

ユーザーからの入力を読み取るためのBufferedReaderメソッド

次の表に、バッファリングされたリーダーがユーザーが入力したJavaの入力を読み取るために使用するメソッドを示します。

方法説明
準備() ファイルリーダーが読み取り状態にあるかどうかを確認します。
マーク() データが読み取られたバッファ付きリーダー内の位置をマークします。
reset() マークが設定されたポイントにコントロールを戻します。

次のJavaプログラムは、InputStreamReaderクラスと一緒にBufferedReaderクラスを使用して、 Javaでユーザー入力を取得します

インポートjava.io.BufferedReader;

インポートjava.io.FileReader;

インポートjava.io.IOException;

パブリッククラステスト{

public static void main(String [] args){

BufferedReader buffer = null;

試す {

文字列scanFirstLine;

buffer = new BufferedReader(new FileReader(“ D:\\ user_input.txt”));

while((scanFirstLine = buffer.readLine())!= null){

System.out.println(scanFirstLine);

}

} catch(IOException a){

a.printStackTrace();

} 最後に {

試す {

if(buffer!= null)

buffer.close();

} catch(IOException b){

b.printStackTrace();

}}}}}

出力

次のデータがファイルにあります。

これは、BufferedReaderがファイルから読み取るサンプルステートメントです。

上記の例では、bufferという名前のバッファ付きリーダーを作成しました。 バッファリングされたリーダーは、「user_input.txt」ファイルにリンクされています。

次に、readLine()メソッドを使用して、バッファリングされたリーダーのバッファから文字をスキャンしました。

結論

この記事では、Javaでユーザー入力を取得するために使用されるメソッドについて説明しました 例とともに、ScannerメソッドとBufferedReaderメソッドについて説明しました。 また、ScannerおよびBufferedReaderクラスがJavaで入力を取得するために使用するメソッドについても説明しました Javaで入力を処理する方法の基本を理解していることを願っています より多くのJavaプログラミング言語を学びたい場合は、働く専門家向けに設計されたフルスタック開発コースのupGradのエグゼクティブPGプログラムをチェックしてください。

今すぐソフトウェア開発のキャリアを計画してください。

ソフトウェアエンジニアリングにおけるupGradのジョブリンクPG認定を申請する