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


いいなと思ったら応援しよう!

企業研修・MS-Office・オンラインスクールプログラミング講師が楽しく教えるスキルアップブログ♪
ありがとうございます!人間あきらめなければ何でも出来ます!一緒に頑張りましょう!