Java スキャナークラスの next()メソッドと nextLine()メソッドの違い
Farkhanda Athar
2023年10月12日
java.util
パッケージの一部である Scanner
クラスは、double
、int
、string
などの基本タイプの入力を取得するために使用されます。これは、Java プログラムで入力を読み取る最も効率的な方法です。それでも、競技プログラミングなど、時間が問題となるシナリオで使用できる入力方法を探している場合は、あまり効率的ではありません。Scanner
クラスは、next()
メソッドと nextLine()
メソッドで構成されています。この記事では、これら 2つの手法の違いについて説明します。
Java の next()
メソッド Scanner
Java の next()
メソッドは Scanner
クラスで使用でき、ユーザーの入力を取得するために使用できます。このメソッドを利用するには、スキャナーオブジェクト
を作成する必要があります。このメソッドは、見つかったスペースに遭遇するまで入力を読み取ることができます。また、スキャナーで完了した次のトークンを取得します。これは、Java で next()
メソッドがどのように機能するかを示しています。
コード例:
import java.util.Scanner;
class ABC {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String Inpt = sc.next();
System.out.println(Inpt);
}
}
入力:
Welcome To
Party
出力:
Party
Java の nextLine()
メソッド Scanner
nextLine()
は、Scanner
クラスで使用可能な Java のメソッドであり、ユーザーの入力を取得するために使用されます。このメソッドを使用する前に構築する必要がある Scanner
オブジェクトを作成する必要があります。このメソッドは、行末までの入力を読み取ることができます。また、行が変更されるか改行されるまで入力を読み取り、\n
または Enter キーを押して入力を終了します。これは、Java で nextLine()
メソッドがどのように機能するかを示す図です。
コード例:
import java.util.Scanner;
class ABC {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String Inpt = sc.nextLine();
System.out.println(Inpt);
}
}
入力:
Welcome To
Party
出力:
Welcome To
Java の next()
メソッドと nextLine()
メソッドの違い
next() |
nextLine() |
---|---|
入力デバイスからの入力を、文字スペースに到達するまで読み取ります。 | 行が変わるまで、入力されたデバイスからの入力を読み取ります。 |
スペースのある単語は読めません。 | スペースを入れて単語を読むことができます。 |
スペースを確保すると、入力の読み取りを停止します。 | \n を取得するか、Enter キーを押すと、入力の読み取りを停止します。 |
入力を受け取った後、カーソルは同じ場所に置かれます。 | 入力を読み取った後、カーソルは次の行に置かれます。 |
next() をエスケープするシーケンスは、スペースを参照します。 |
nextLine() のエスケープシーケンスは\n です。 |
入力をスキャンするための構文:Scanner.next() |
入力をスキャンする構文:Scanner.nextLine() |