本文へスキップ
BecomeCoder

Java文法コース · 第7章 文字列と標準ライブラリ ― よく使う道具箱 · レッスン33

Scanner ― キーボードからの入力を読み取る

ブラウザで完結

導入

ここまでのプログラムは、コードの中に値を直接書いてきました。しかし実際のプログラムの多くは、実行時に外部から値を受け取ります。Javaで標準入力(キーボード入力)を読み取るしくみが Scanner です。

説明

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("名前を入力してください");
        String name = sc.nextLine();
        System.out.println(name + "さん、こんにちは!");
    }
}
  • import java.util.Scanner;Scannerjava.util パッケージにあるので、ファイルの先頭で読み込みます。
  • new Scanner(System.in); … 標準入力(キーボード)から読み取る Scanner を作ります。
  • sc.nextLine(); … 1行分の文字列を読み取ります。
  • 数値を直接読みたいときは sc.nextInt();(整数)や sc.nextDouble();(小数)も使えます。

この実行環境では、エディタ下の 「標準入力」欄 に値を書いてから実行します。上の例なら、標準入力に 太郎 と入れて実行すると、name"太郎" が入ります。

やってみよう

下のエディタの「標準入力」欄にいろいろな名前を入れて実行し、表示されるあいさつが変わることを確かめましょう。sc.nextLine()sc.nextInt() に変えて、標準入力に数値を入れて試してみるのもよい練習になります。

演習

標準入力から整数を1つ sc.nextInt() で読み取り、その2倍を表示してください。標準入力欄に 21 と入力して実行し、42 が表示されることを確認しましょう。

ヒント1を見る

Scanner sc = new Scanner(System.in); int n = sc.nextInt(); で読み取ります。

ヒント2を見る

System.out.println(n * 2);。標準入力欄には 21 と入れてください。

実際に動かしてみよう

下のエディタにJavaを書いて「実行」を押すと、学習用シミュレータが System.out.println の出力を表示します(本物のJVMではなく、教材の範囲を再現した軽量エンジンです)。クラス・継承・コレクションなども動きます。Scanner で入力を読む例は「標準入力」欄に値を入れてください。本文の例を書き換えて動かしてみましょう(Stream・ラムダ・スレッド・ファイル入出力など一部の機能は対象外です)。

Java — ブラウザ内で実行(学習用シミュレータ)

Javaの教材サブセットを動かす学習用シミュレータを読み込みます(本物のJVMではなく、動きを再現した軽量な自作エンジンです)。
スクロールして表示された時点でも自動で読み込まれます。