スキャナーを使用したい際に、ユーザーに数字での入力を指定したい場合には「nextInt()」を使用した。
少数値を指定したい場合は「nextDouble()」だった。
今回は文字列での入力を指定する「next()」について扱う。
next()については以前に少し触れたことがあるが、改めてまとめることにする。
以前の記事については以下を参照。
スキャナー(Scanner)とは?取り込み方についても Vol.35-プロショ
next()とは?
next()とは文字列が入力された際に、空白までの文字列を取得するメソッド。
例えばユーザーが「こんにちは おはよう」と入力した場合、「こんにちは」と「おはよう」に分けられる。
文字を出力するコード(System.out.println()など)を一緒に使用することで画面に表示できる。
使用方法
next()を使用する際は、取得したい文字列を含んだ変数の後に書く。
変数の型については以下参照。
変数の型の種類について今更まとめてみた Javaプログラミング初心者の記録vol.25
next()を使用したコード例
next()を使用して以下を作成してみた。
import java.util.Scanner;
public class nextUse {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println(“文字を入力”);
String a =s.next();
String b =s.next();
System.out.println(a+b);
}
}
こんにちは おはよう
こんにちはおはよう
青文字部分がユーザーが入力する部分。
今回は例として「こんにちは おはよう」と入力した。
なお、「こんにちは」と「おはよう」の間にはスペースを入力。
プログラムの簡単な解説
- まずスキャナーを設定し、ユーザーが入力した文字を変数「s」に入れるようにした。
- もしユーザーが文字の間にスペースを入力したときのためにString aとString bの2つを用意。
※今回の場合、String aだけだと「こんにちは」だけしか表示されない。 - ユーザーが「こんにちは おはよう」と入力。
- 1つめの変数「a」にはスペースまでの「こんにちは」が入る。
- 2つめの変数「b」には、スペースの次の文字列「おはよう」が入る。
- 文字を表示させる際にスペースを空ける指示などは設定していない為(a+b)、「こんにちはおはよう」と続けて表示された。
ユーザーがスペースを入力していくたびに、取得される文字列はスペースごとに区切られていく。
例)ユーザーが入力(変数s):こんにちは おはよう こんばんは さようなら
String a=s.next()⇒ a=”こんにちは”
String b=s.next()⇒ b=”おはよう”
String c=s.next()⇒ c=”こんばんは”
String d=s.next()⇒ d=”さようなら”
もしもString bまでしか用意していなかったら、「おはよう」までしか取得されない。
最後に
今回はスキャナーを使用する際に文字列を指定するnext()について扱った。
next()はスペース(空白)までの文字列を取得するということに注意。
next()のほかに、nextLine()というメソッドもあるため次回に改めてまとめる。
コメント