●キーボード入力の補足

キーボードから文字列を入力して,実数値などに変換する方法について,以下のソースコードとコメントで補足する。
なお,必要な事項の詳細は,後期第5回「例外によるエラー制御」と,第7回「ファイル入出力の基礎2」で学習する。

 

import java.io.BufferedReader;    // キーボードから文字列を入力するためのおまじない
import java.io.InputStreamReader; // キーボードから文字列を入力するためのおまじない

class Test {

    public static void main( String args[] ) throws Exception { // { の前の throws Exception は,キーボードから文字列を入力するためのおまじない。                                                                                                                                                                                   

		// 下行は,キーボードから文字列を入力するためのおまじない。後期学習する BufferedReader クラスのオブジェクトを利用すると文字入力ができる。
        // ここでは,BufferedReader型オブジェクト buf を生成して,利用している。
        BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
        // 上行を実行すると,コンソールウィンドウ(Console window)が入力待ち状態になるので,文字列をキーボードで書いて Enterキーで入力。
        // コンソールウィンドウは,Eclipseの下のエリアにある(タブで選択)。もし見当たらなければ,「ウィンドウ」メニュー→「ビューの表示」→「コンソール」で表示可能
        // 例として,ここではコンソールウィンドウに 1.23 と入力して Enterキーを押してみよう。

        // 入力された文字列1行分を取得するには,下行のように BufferedReader型オブジェクト buf の readLine( ) メソッドを呼び出す。
        // そして,取得した文字列を double 型の数値に変換するには,下行のように Double クラスの parseDouble( ) メソッドを使う。
        double a = Double.parseDouble(buf.readLine()); // キーボードから 1.23 と入力しした場合, "1.23" という文字列が parseDouble( ) メソッドに渡され,double型実数値 1.23 が返される。
        System.out.println( "input is " + a );

        // もう一度やってみる。
        // 下行の処理で再度コンソールウィンドウが入力待ち状態になるので,キーボードから実数値を表す文字列を再度入力してみよ。
        buf = new BufferedReader(new InputStreamReader(System.in));
        double b = Double.parseDouble(buf.readLine());
        System.out.println( "input is " + b );

        // 今度は,キーボードから入力した文字列1行分の先頭の1文字を取り出してみよう。
        // 下行の処理で再度コンソールウィンドウが入力待ち状態になるので,キーボードから適当な文字列を入力してみよ。
        buf = new BufferedReader(new InputStreamReader(System.in));
        char op = buf.readLine().charAt(0); // 取得した文字列は前期に学習したように String型なので,1文字目を取り出すには charAt( ) メソッドに 0 を渡せば良い。
        System.out.println( "input is " + op );

    }
	
}