Java キーボードから文字列を入力する

前回はウィンドウに画像を表示し、それをインターネット(Webサイト)上に公開し、実行できるようにする方法をご紹介しました。
今回はキーボードからの入力を受け付ける方法について書きます。
[java]
import java.io.*;

class Keyinput {
public static void main (String[ ] args) throws IOException {
System.out.println("文章を入力してください。");

BufferedReader input =
new BufferedReader (new InputStreamReader (System.in));
String str = input.readLine( );

System.out.println("入力された文章は「" + str + "」です。");
}
}
[/java]

1行目はクラスライブラリからjava.ioというパッケージに含まれているクラスを使うための宣言です。
キーボード入力に関する機能はjava.ioパッケージにまとめられているため、この文が必要です。
[java]
public static void main (String[ ] args) throws IOException {
[/java]
main( )メソッドはこれまでに何度も出てきていますが、その定義に追加されている
throws IOExceptionはデータ入力時にエラーが発生したとき、例外処理を行うための指定です。
[java]
BufferedReader input =
new BufferedReader (new InputStreamReader (System.in));
[/java]
BufferdReaderクラスの変数inputの宣言と初期化を行います。この文は長いので、2行に分けています。
キーボードからの入力はSystem.inを介してプログラムに取り込まれます。

このSystem.inをもとに、
①InputStreamReaderクラスのオブジェクトを生成する。
②①をもとにさらにBufferedReaderクラスのオブジェクトを生成する。
という手順が必要になります。

これを1文で書くとこうなります。
[java]
String str = input.readLine( );
[/java]
BufferedReaderクラスのreadLine( )メソッドで標準入力から1行読み込み、
変数strに格納する。この行を実行すると、プログラムはキーボードからの入力を待って、
一時停止状態になります。そこでユーザーが何か入力してEnterキーを押すと
入力した内容が変数strに格納され、次の処理に進むようになっています。

カテゴリー Java