🕌
【Java】nextLine()の注意事項
※「next()」や「nextInt()」のあとに「nextLine()」を使用すると空の文字列(“”)が取得されてしまうことがあります。
これを避けるには以下のような記述が必要になる場合があります。
Scanner scanner = new Scanner(System.in);
System.out.println("番号を入力してください:");
int id = scanner.nextInt();
System.out.println("コメントを入力してください:");
scanner.nextLine(); // ダミーの nextLine() を使ってバッファをクリア
String comment = scanner.nextLine(); // 1行を取得
System.out.println("番号: " + id);
System.out.println("コメント: " + comment);
scanner.close();
next() の特徴
- 入力を1つの単語(スペースや改行で区切られた文字列)として取得します。
- 主に、単語単位で取得したい場合に使用します。
- スペースや改行が入力に含まれている場合、最初の単語(スペースまでの文字列)だけを返します。
例)「Hello World」と入力した場合、「Hello」が出力される例
Scanner scanner = new Scanner(System.in);
System.out.println("文字列を入力してください:");
String word = scanner.next(); // スペースまたは改行までの1単語を取得
System.out.println(word); // Hello
nextLine()の特徴
- 改行までのすべての文字列を取得します。
- 主に1行全体を取得したい場合に使用します。
- 入力された文字列にスペースが含まれていても、1行全体を返します。
例)「Hello World」と入力した場合、「Hello World」が出力される例
Scanner scanner = new Scanner(System.in);
System.out.println("1行分の文字列を入力してください:");
String line = scanner.nextLine(); // 改行までの1行を取得
System.out.println(line); // Hello World
Udemyで講座を公開中!
X(旧Twitter)
Zenn 本
Youtube
Discussion