JavaのScannerで入力するには?配列でリストを作る練習

最終更新日

Schoo Java入門 初級 講座イメージ

本記事は、Schooの「Java入門 初級【2026年版】」第2回「変数・配列・入力(Scanner)」を学んだあとに、Scanner入力と配列を組み合わせる練習をするためのステップアップ学習記事です。

ただし、Schooを受講していない方でも、Javaの基本を学び始めたばかりであれば読み進められる内容にしています。

Schoo コースページ:Java入門 初級【2026年版】

Scannerはキーボード入力を受け取る補助ツール

第2回の後半では、推し曲リストを作ります。ここでは、固定の3曲を配列に入れる形から始め、次にScannerで入力した曲名を配列に入れる形へ進めます。

まずは固定の3曲を表示する

ファイル名: SongList1.java

public class SongList1 {
    public static void main(String[] args) {
        String[] songs = { "推し曲1", "推し曲2", "推し曲3" };

        System.out.println("== 推し曲リスト ==");
        System.out.println("1: " + songs[0]);
        System.out.println("2: " + songs[1]);
        System.out.println("3: " + songs[2]);
    }
}

実行結果

== 推し曲リスト ==
1: 推し曲1
2: 推し曲2
3: 推し曲3

この段階では、配列の作成とインデックス指定を確認します。繰り返し処理はまだ使わず、1行ずつ表示して構いません。

Scannerで入力した3曲を配列に入れる

ファイル名: SongList2.java

import java.util.Scanner;

public class SongList2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String[] songs = new String[3];

        System.out.print("1曲目の推し曲を入力してください: ");
        songs[0] = sc.nextLine();

        System.out.print("2曲目の推し曲を入力してください: ");
        songs[1] = sc.nextLine();

        System.out.print("3曲目の推し曲を入力してください: ");
        songs[2] = sc.nextLine();

        System.out.println("== 推し曲リスト ==");
        System.out.println("1: " + songs[0]);
        System.out.println("2: " + songs[1]);
        System.out.println("3: " + songs[2]);

        sc.close();
    }
}

実行結果の例

1曲目の推し曲を入力してください: Song A
2曲目の推し曲を入力してください: Song B
3曲目の推し曲を入力してください: Song C
== 推し曲リスト ==
1: Song A
2: Song B
3: Song C

なぜimportが必要なのか

ScannerはJavaの標準ライブラリに含まれるクラスですが、そのままではファイル内で名前を使えません。先頭にimport java.util.Scanner;を書くことで、Scannerという名前を使えるようにします。

Scanner cannot be resolved to a type

このエラーが出たら、import java.util.Scanner;を書いているか、Scannerの大文字小文字が合っているかを確認しましょう。

nextLineとnextIntの違い

nextLine()は1行分の入力を文字列として受け取ります。曲名のような文字列にはnextLine()が扱いやすいです。年齢や点数のような整数を受け取る場合はnextInt()も使えます。

ファイル名: ScannerDemo.java

import java.util.Scanner;

public class ScannerDemo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.print("ニックネーム: ");
        String name = sc.nextLine();

        System.out.print("年齢: ");
        int age = sc.nextInt();

        System.out.println(name + "さん(" + age + "歳)");
        sc.close();
    }
}

実行結果の例

ニックネーム: たろう
年齢: 20
たろうさん(20歳)

自分で試す練習

  1. 固定の3曲を、自分の好きな曲名に変えて表示してください。
  2. Scannerで入力した3曲を配列に保存して表示してください。
  3. import java.util.Scanner;を消したときのエラーを確認してください。

確認問題

  1. Scanner sc = new Scanner(System.in);System.inは何に接続するイメージか説明してください。
  2. 曲名のような文字列を受け取るときに使うメソッドを書いてください。
  3. 3曲分を保存するString配列の作成コードを書いてください。

演習後の確認: こちらのページを使って、自分で考えた内容を見直せます。

あわせて読みたい関連記事

まとめ

Scannerを使うと、キーボードから入力された値をプログラムで扱えます。入力された曲名を配列に入れて表示すると、変数、配列、入力の関係をまとめて練習できます。

シェアする