Java スキャナー クラス
Java スキャナー クラス
このチュートリアルでは、例を使用して Java スキャナーとそのメソッドについて学習します。
Scanner
java.util
のクラス パッケージは、入力ストリーム、ユーザー、ファイルなどのさまざまなソースから入力データを読み取るために使用されます。例を見てみましょう。
例 1:スキャナーを使用してテキスト行を読み取る
import java.util.Scanner;
class Main {
public static void main(String[] args) {
// creates an object of Scanner
Scanner input = new Scanner(System.in);
System.out.print("Enter your name: ");
// takes input from the keyboard
String name = input.nextLine();
// prints the name
System.out.println("My name is " + name);
// closes the scanner
input.close();
}
}
出力
Enter your name: Kelvin My name is Kelvin
上記の例では、次の行に注目してください
Scanner input = new Scanner(System.in);
ここでは、Scanner
のオブジェクトを作成しました。 名前付き input .
System.in
パラメータは、標準入力から入力を取得するために使用されます。キーボードからの入力と同じように機能します。
次に nextLine()
を使用しました Scanner
のメソッド ユーザーからテキスト行を読み取るためのクラス
Scanner
についてある程度理解できたので、 、それについてもっと調べてみましょう。
スキャナ クラスのインポート
上記の例からわかるように、 java.util.Scanner
をインポートする必要があります Scanner
を使用する前のパッケージ クラス。
import java.util.Scanner;
パッケージのインポートの詳細については、Java パッケージにアクセスしてください。
Java でスキャナ オブジェクトを作成する
パッケージをインポートしたら、Scanner
を作成する方法を次に示します。 オブジェクト。
// read input from the input stream
Scanner sc1 = new Scanner(InputStream input);
// read input from files
Scanner sc2 = new Scanner(File file);
// read input from a string
Scanner sc3 = new Scanner(String str);
ここでは、Scanner
のオブジェクトを作成しました。 InputStream、File、および String からそれぞれ入力を読み取るクラス。
入力を受け取る Java スキャナ メソッド
Scanner
クラスは、さまざまなタイプの入力を読み取ることができるさまざまなメソッドを提供します。
メソッド | 説明 |
---|---|
nextInt() | int を読み取ります ユーザーからの価値 |
nextFloat() | float を読み取ります ユーザーからの値 |
nextBoolean() | boolean を読み取ります ユーザーからの価値 |
nextLine() | ユーザーからテキスト行を読み取ります |
next() | ユーザーから単語を読み上げる |
nextByte() | byte を読み取ります ユーザーからの価値 |
nextDouble() | doubl を読み取ります ユーザーからの値 |
nextShort() | short を読み取ります ユーザーからの価値 |
nextLong() | long を読み取ります ユーザーからの価値 |
例 2:Java スキャナ nextInt()
import java.util.Scanner;
class Main {
public static void main(String[] args) {
// creates a Scanner object
Scanner input = new Scanner(System.in);
System.out.println("Enter an integer: ");
// reads an int value
int data1 = input.nextInt();
System.out.println("Using nextInt(): " + data1);
input.close();
}
}
出力
Enter an integer: 22 Using nextInt(): 22
上記の例では、nextInt()
を使用しています。 整数値を読み取るメソッド。
例 3:Java スキャナ nextDouble()
import java.util.Scanner;
class Main {
public static void main(String[] args) {
// creates an object of Scanner
Scanner input = new Scanner(System.in);
System.out.print("Enter Double value: ");
// reads the double value
double value = input.nextDouble();
System.out.println("Using nextDouble(): " + value);
input.close();
}
}
出力
Enter Double value: 33.33 Using nextDouble(): 33.33
上記の例では、nextDouble()
を使用しています。 浮動小数点値を読み取るメソッド。
例 4:Java スキャナ next()
import java.util.Scanner;
class Main {
public static void main(String[] args) {
// creates an object of Scanner
Scanner input = new Scanner(System.in);
System.out.print("Enter your name: ");
// reads the entire word
String value = input.next();
System.out.println("Using next(): " + value);
input.close();
}
}
出力
Enter your name: Jonny Walker Using next(): Jonny
上記の例では、next()
を使用しています。 ユーザーから文字列を読み取るメソッド
ここでは、フルネームを指定しました。ただし、next()
メソッドは名のみを読み取ります。
これは next()
メソッドは入力を空白まで読み取ります キャラクター。 空白 が検出された場合、文字列を返します (空白を除く)。
例 5:Java スキャナ nextLine()
import java.util.Scanner;
class Main {
public static void main(String[] args) {
// creates an object of Scanner
Scanner input = new Scanner(System.in);
System.out.print("Enter your name: ");
// reads the entire line
String value = input.nextLine();
System.out.println("Using nextLine(): " + value);
input.close();
}
}
出力
Enter your name: Jonny Walker Using nextLine(): Jonny Walker
最初の例では、nextLine()
を使用しました。 ユーザーから文字列を読み取るメソッド
next()
とは異なります 、nextLine()
メソッドは、スペースを含む入力行全体を読み取ります。次の行文字 \n
に遭遇すると、メソッドは終了します .
推奨読書: Java スキャナは nextLine() をスキップします。
BigInteger と BigDecimal を備えた Java スキャナ
Java スキャナーを使用して、大きな整数と大きな 10 進数を読み取ることもできます。
- nextBigInteger() - ユーザーから大きな整数値を読み取ります
- nextBigDecimal() - ユーザーから大小数値を読み取ります
例 4:BigInteger と BigDecimal を読み取る
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Scanner;
class Main {
public static void main(String[] args) {
// creates an object of Scanner
Scanner input = new Scanner(System.in);
System.out.print("Enter a big integer: ");
// reads the big integer
BigInteger value1 = input.nextBigInteger();
System.out.println("Using nextBigInteger(): " + value1);
System.out.print("Enter a big decimal: ");
// reads the big decimal
BigDecimal value2 = input.nextBigDecimal();
System.out.println("Using nextBigDecimal(): " + value2);
input.close();
}
}
出力
Enter a big integer: 987654321 Using nextBigInteger(): 987654321 Enter a big decimal: 9.55555 Using nextBigDecimal(): 9.55555
上記の例では、java.math.BigInteger
を使用しています。 と java.math.BigDecimal
BigInteger
を読み取るパッケージ および BigDecimal
Java スキャナの働き
Scanner
クラスは行全体を読み取り、行をトークンに分割します。トークンは、Java コンパイラにとって何らかの意味を持つ小さな要素です。たとえば、
入力文字列があるとします:
He is 22
この場合、スキャナー オブジェクトは行全体を読み取り、文字列をトークンに分割します:"He "、"は 」と「22 "。その後、オブジェクトは各トークンを繰り返し処理し、さまざまなメソッドを使用して各トークンを読み取ります。
注意 :デフォルトでは、トークンを区切るために空白が使用されます。
Java