【Java】Scannerの基本的な使い方
Scannerとは
Scanner(スキャナー)は、キーボードからの入力をプログラムで受け取るための手段です。
これを使うと、ユーザーが入力した文字や数字をJavaプログラムで取得することができます。
基本の使い方
import java.util.Scanner; // Scannerを使うための準備
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); // Scannerの作成
System.out.print("あなたの名前を入力してください: ");
String name = scanner.next(); //ユーザーの入力を取得
System.out.println("こんにちは、" + name + "さん!");
scanner.close(); // Scannerを閉じる(メモリを解放)
}
}
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
注意事項
※「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();
参考:繰り返し入力(whileループ)
※書き方はいろいろありますので、ひとつの例とお考えください
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.print("何か入力(終了: end): ");
String input = scanner.nextLine();
if (input.equals("end")) {
break; // "end" が入力されたらループ終了
}
System.out.println("入力: " + input);
}
System.out.println("終了しました。");
scanner.close(); // Scannerを閉じる(推奨)
Eclipse(Java)【初心者必見!】まずは覚えておきたいデバッグ機能の使い方(サンプルデータ付き)!新入社員研修向け!現場に必要な知識を学ぼう!
Udemyで講座を公開中!
X(旧Twitter)
Youtube
いいなと思ったら応援しよう!
