HOME> Javaアプリケーション講座>ストリーム>キーボードからの入力

キーボードからの入力

ここでは、キーボードからの入力の仕方を見てみます。
キーボードからの入力も入力ストリームで行われます。
キーボードからの入力は System.inから入ってきます。
これは、InputStreamを継承している形になります。
このSystem.inをInputStreamReaderクラスの引数としてオブジェクトを作成することにより、 文字ストリームに変換を行います。

また、BufferdReaderクラスのオブジェクトを生成することによりパッファリング
を行い効率よく入力文字列を取得することが出来ます。

では、サンプルプログラムを見ていきます。

サンプルプログラム(Sample118.java)

//import宣言
import java.io.*;
class Sample118{
    public static void main(String args[]){

     try{

     //入力ストリームの生成
     BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

      System.out.print("入力してください   ⇒  ");

String str = br.readLine(); System.out.println("今入力されたデータは:" + str + "です"); }catch(IOException e){ System.out.println("Exception :" + e);
}
} }

プログラムをコピーする場合すべて選択をクリックしてください。

Sponsored link

コンパイル・実行してみます。
また実行の際は好きな言葉を入力してください。
今回ははじめてのJava入門と入力してみました。

日本語入力の仕方

ショートカットキーでAlt + 半角/全角キーです。

結果は以下のようになります。


まず、BufferedReaderクラスを利用するのでjava.ioパッケージをimport宣言しなければいけません。
次にキーボードからの入力を受け取る標準入力ストリームSystem.inを
InputStreamReaderクラスの引数としてオブジェクトを作成し、 それを引数に指定してBufferedReaderクラスのオブジェクトを作成します。

これでキーボードからの入力を読み込むことが出来ました

次にBufferedReaderクラスのreadLine()メソッドで入力された文字列を取得します。

readLine()メソッドは一行のテキストとして読み込み表示してくれます。

やはりBufferedReaderクラスも例外が発生の可能性もあるのでtry-catch文での例外処理はが必要です。
少し理解しにくい部分がありますがキーボードからの入力の場合は
必ず上記の記述方法を行いますのでそのまま覚えてください。

ではもう一つサンプルプログラムを作成します。

サンプルプログラム(Sample118_1.java)

//import宣言
import java.io.*;
class Sample118_1{
    public static void main(String args[]){

    try{

      //入力ストリームの生成

    InputStreamReader ir = new InputStreamReader(System.in);

    BufferedReader br = new BufferedReader(ir);

    System.out.println("一番目の文字を入力してください");
    System.out.println("----------------------------");

    String str1 = br.readLine();

   System.out.println("二番目の文字を入力してください");
   System.out.println("-----------------------------");

   String str2 = br.readLine();

   System.out.println("入力された文字は" + str1 + str2  + "です");

  }catch(IOException e){

      System.out.println("Exception : " + e);

        }
} }

プログラムをコピーする場合すべて選択をクリックしてください。

Sponsored link

コンパイル・実行してみます。

まず、今回のプログラムでSample118.javaとの違いから説明します。
今回は入力ストリームの生成を

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

としていますが、Sample118.javaの生成の仕方と意味的には全く同じになります。
基本的にはSample118.javaで書かれている様に記述する方が一般的と言えます。
また、readLine()で入力された文字列を取得していますがこのように一番目の文字列、
2番目の文字列と複数文字列を取得することも可能ですが格納する変数はこのようにstr1 str2 と 分けてやる必要があります。

ページのトップへ戻る