| ■ キーボードからの文字入力 |
キーボードから値を入力する最もシンプルな方法は、1文字づつプログラムに入力してくる方法です。それを実現するのが 、以下のような命令です。
System.in.read();
しかし、通常1文字だけのデータは少なく、複数文字を入力して、復帰改行(エンター)すると、入力した文字がプログラムに渡されるという方が使いやすいです。
そこで、文字列を1行単位で入力するためには、次のようにキーボードの入力先を記述しておく必要があります。
BufferedReader kbd = new BufferedReader(new InputStreamReader(System.in));これは、文字列入力先に kbd (keybordのつもり) という名前をつけて、それで文字列入力ができるということを宣言しています。入力先の名前は自分で自由に付けることができます。
テキストの3章に説明されているプログラムは、入力先を指定してデータを入力する典型的な例です。ここでは、この方法を使って、「名前」と「年齢」を入力し、その値を表示するプログラムを次に示します。
このプログラムで新しく使われている命令は、以下の3行です。
[egi@taro]$ java JcInput1 名前?egi 年齢?45 名前はegiです。 年齢は45です。 [egi@taro]$
|
| ■ 入力した数値を計算に使う |
上記の方法による入力でも、入力された値はすべて文字列です。したがって、数値を入力して、その値を何らかの計算に使いたい場合は、文字列の数値を数値型に変換する必要があります。 次のプログラムは、身長を入力し、標準体重を計算して出力するプログラムです。
// 数値を入力し、計算結果を表示する。
import java.io.*;
public class JcInput2{
public static void main(String[] arges) throws IOException {
String sincho;
int dt;
BufferedReader kbd = new BufferedReader(new InputStreamReader(System.in));
System.out.print("身長?");
sincho = kbd.readLine();
dt = Integer.parseInt(sincho);
System.out.println("身長は"+sincho+"です。");
System.out.println("標準体重は"+((dt-100)*0.9)+"です。");
}
}
このプログラムで使われている、Integer.parseInt( )は、( )内に記述されたString型のデータをint型のデータに変換してくれます。
上記のプログラムを実行すると、「身長?」というメッセージが表示され、身長を 156と入力すると、次のように結果を出力してプログラムが終了します。
|
|
|