Java -コンソール入出力-
Scannerクラス
Scannerクラスは、文字列を解析するクラスで、キーボードからの入力を読み込むことが できます。
コンストラクタに指定した入力ソースから文字列を読み込み、文字列を区切り文字 トークンという単位に分割しnextXXXをいうメソッドでトークンを指定したデータ型で読み込みます。
トークンとは、スペースなどのデリミタ(区切り文字)で区切られた文字列のことです。
Scannerクラスの主なコンストラクタ
- Scanner(InputStream source)
- Scanner(File source)
- Scanner(String source)
Scannerクラスの主なメソッド
メソッド | 説明 |
---|---|
public Scanner useDelimiter(String pattern) | 区切り文字を指定します。 引数には正規表現のパターンを指定できます。 |
public String next() | 次のトークンを返します。 |
public boolean hasNext() | 次のトークンが存在する場合trueを返します。 |
public String nextLine() | 次の行まで文字列を読み込みます。 |
public hasNextLine() | 次の行がある場合はtrueを返します。 |
public int nextInt() | 次のトークンをint型にして返します。 |
public boolean hasNextInt() | 次のトークンが存在し、int型の場合はtrueを返します。 |
public int nextDouble() | 次のトークンをdouble型にして返します。 |
public boolean hasNextDouble() | 次のトークンが存在し、double型の場合はtrueを返します。 |
キーボードからの入力例
import java.util.Scanner;
public Sample1702 {
public static void main(String [] args){
Scanner sc=new Scanner(System.in);
System.out.println( "繰り返し何か入力して下さい。");
while(sc.hasNext()){
String s=sc.next();
System.out.println( "入力された文字="+s);
}
}
}
実行結果
繰り返し何か入力して下さい。
5← キーボードから入力後「Enter」キー押下
入力された文字=5
aa← キーボードから入力後「Enter」キー押下
入力された文字=aa
キーボードから文字列を読み込むには、ScannerクラスのコンストラクタにSystem.inを渡します。
System.inは標準入力用のオブジェクトです。