Javaキーボード入力の3つの方法

5570 ワード

Javaキーボード入力の3つの方法
1.System.inとSystem.outメソッド:コンソールから文字を受信し、印刷します.
この方式ではキーボードから入力された文字を取得できますが、System.out.read()は1文字のみ取得できます.また、取得された変数のタイプはcharのみです.数値を入力し、整数変数を取得したい場合は、変数のタイプを変更する必要があります.これは面倒です.
欠点:キーボードから文字コードを読み取ることしかできません.
InputStream inputStream = System.in;
Reader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

String name = bufferedReader.readLine(); //        
String sAge = bufferedReader.readLine(); //        
int nAge = Integer.parseInt(sAge); //         。

2.BufferedReaderクラスとInputStreamReaderクラスのメソッド:コンソールから文字列を受信し、印刷します.
キーボードから文字列を読み込むには、BufferedReaderオブジェクトを使用するのが最も便利です.しかし、これを行うには、データを読み込むオブジェクトを入力する必要があります.この例ではSystem.inとなります.
ただし、System.inはBufferedReaderと互換性がないため、別のアダプタ-別のInputStreamReaderオブジェクトを使用します.
欠点:int、floatなどのタイプを取得するには変換が必要です
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String name = reader.readLine();
String sAge = reader.readLine();
int nAge = Integer.parseInt(sAge);

3.Scannerクラスメソッド:
利点1:キーボード入力文字列を取得できる
利点2:int、floatなどのタイプのデータを入手する既存のデータがあり、非常に強く、非常に便利である.
Scannerクラスを使用する場合は、nextLine()とnext()の違いに注意してください.
nextLine()メソッドは、スペース付き文字列を得ることができるEnterキーの前のすべての文字を返します.next()は有効文字の前のスペースを自動的に消去し、入力した文字だけを返し、スペースのある文字列は得られません.注意:使用前にScannerオブジェクトを構築する必要があります(この文はScannerクラスを使用するときにエラーが発生します).
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();		//        
int age = scanner.nextInt();			//  int   
float digital = scanner.nextFloat();	//  float   


もし间违いがあったり、理解が足りなかったりしたら、コメントして、虚心に受け入れて返事してください.ありがとうございます.