ホーム > Java > 第9章-1 コンソール入出力

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 class 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は標準入力用のオブジェクトです。