【Java入門】キーボードから入力する(InputStreamReader/Scanner)

こんにちは!エンジニアの中沢です。

Javaにはキーボードから文字を入力するための「InputStreamReader」や「Scanner」があります。標準入力を扱うことができるので上手く活用してください。

この記事では、

  • 標準入力とは
  • InputStreamReaderでキーボードから入力する方法
  • Scannerでキーボードから入力する方法
  • nextIntメソッドで数値を入力する方法


などの基本的な内容から、応用的な使い方に関しても解説していきます。

今回はこれらの方法を覚えるために、「InputStreamReader」や「Scanner」の使い方をわかりやすく解説します!

標準入力とは

標準入力とはキーボードから文字を入力することです。標準入力を使えばキーボードから入力した文字を表示させたり、文字によってプログラムの動作を分岐させることなどができます。

キーボードからの入力はプログラムの基本になるので、ぜひ活用してください。

InputStreamReaderでキーボードから入力する方法

ここでは、InputStreamReaderでキーボードから入力した文字を読み取る方法を解説します。

キーボードから入力するには「InputStreamReaderクラス」、「BufferedReaderクラス」、「readLineメソッド」を組み合わせて使います。

次のプログラムで確認してみましょう。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {

    public static void main(String[] args) {

        InputStreamReader isr = new InputStreamReader(System.in);
        BufferedReader br = new BufferedReader(isr);

        System.out.println("キーボードから入力してください");

        String str = null;
        try {
            str = br.readLine();
            br.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

        System.out.println("入力された文字は「" + str + "」です");

    }

}

実行結果:

キーボードから入力してください
Samurai
入力された文字は「Samurai」です

このプログラムでは、「Samurai」と入力しています。このようにして、キーボードから入力した文字を表示することができました。

Scannerでキーボードから入力する方法

ここでは、Scannerでキーボードから入力する方法を解説します。Scannerで入力を受け付け、nextメソッドで入力された文字を読み取ります。

次のプログラムで確認してみましょう。

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        System.out.println("キーボードから入力してください");

        Scanner scan = new Scanner(System.in);

        String str = scan.next();

        System.out.println("入力された文字は「" + str + "」です");

    }

}

実行結果:

キーボードから入力してください
Samurai
入力された文字は「Samurai」です

このプログラムでは、「Samurai」と入力しています。このようにして、Scannerでキーボードから入力した文字を表示することができました。

nextIntメソッドで数値を入力する方法

ここでは、nextIntメソッドで数値を入力する方法を解説します。nextメソッドは入力された文字を文字列として読み込みますが、nextIntメソッドは数値として読み込みます。

次のプログラムで確認してみましょう。

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        System.out.println("キーボードから入力してください");

        Scanner scan = new Scanner(System.in);

        int num = scan.nextInt();

        System.out.println("入力された文字は「" + num + "」です");

    }

}

実行結果:

キーボードから入力してください
123
入力された文字は「123」です

このプログラムでは、「123」と入力しています。このようにして、数値として読み取り表示することができました。

まとめ

いかがでしたか?

今回は「InputStreamReader」と「Scanner」で、キーボードから入力する方法を解説しました。キーボードから入力した文字をプログラムで使用できるので、ぜひ活用してくださいね。

もし、標準入力の方法を忘れてしまったらこの記事を確認してください!

LINEで送る
Pocket

ITエンジニアへ転職したい方におすすめ

自分を評価してくれる企業に転職して年収を上げたい! 自分のスキルにあった独自案件を知りたい!
エンジニアは今もっとも注目されている職業の1つ。エンジニアになって年収を増やしたい方や、あなたのスキルに見合った企業へ転職したいエンジニアの方も多いですよね。

しかし、大手の転職媒体は扱う求人数が多くても、誰もが登録しているので競争率もかなり高くなっています。そのため、あなたの条件に見合った企業を見つけても転職するためには、相応の努力とスキルが必要となります。

こういった媒体では、未経験からエンジニアを目指す方やエンジニア歴2〜3年で転職を考えている方にとって、最適な転職環境とはいえません。

そこでオススメしたいのが、未経験者や若手エンジニア向けの独自案件を多く掲載している「侍ワークス」です。

侍ワークスは、独自案件を多く掲載しているだけでなく、

・応募から就業まで一貫したサポート

・就業後もアフターフォロー

といった経験の浅い方や初めてエンジニアを目指す方にも安心のフォロー体制が整っています。もちろん登録は完全無料!しかも案件を見るだけなら登録も不要です。

まずは、お気軽にどんな求人があるか見てみてください。あなたにピッタリの企業がきっと見つかりますよ! 侍ワークスの求人情報を見る

書いた人

中沢 丈

中沢 丈

フリーランスエンジニア。
システム開発からコンテンツ作成まで幅広く対応します。

連絡先はこちらです。
[email protected]