Consoleクラスを使ったデータの受け取り(クラスの読み込みの実例)


Consoleクラスを用いて、ユーザー側から文字入力を受け取るプログラムです。
Consoleクラスのメソッド及びそれぞれの例外処理に関しての情報は下記のサイトにのっています。

Consoleクラスはフルネームは"java.io.Console"と言います。"java.io"部分はパッケージ名です。このページには、ConsoleクラスのMethodについて記述がされています。クラスによっては、このページにメソッドだけでなくフィールドについても記載されています。

Consoleクラスに実装されているreadLineメソッドの仕様を眺めてみます。

java.ioパッケージに含まれるようなので、java.ioパッケージに含まれるClassのSummaryを眺めてみます。



SystemクラスやStringクラスの代表されるJava Core APIライブラリの代表的クラスの場合は、デフォルトでimportされるので、明示的にimportする必要はありません。一方、Consoleクラスなどのその他一般のクラスを利用しようと考えた場合は、その都度クラスをimportする必要があります。

#ソースコードの編集
$ vim aisatsu.java

// aisatsu.java
//Consoleクラスのimport
//Consoleクラスを利用すると、CUIでの有用なインターフェースが提供される
import java.io.Console;
public class aisatsu{
 public static void main(String[] args){
  //変数の宣言
  String name;
  //Consoleクラスを使用するための準備
  Console console = System.console();
  System.out.println("Input your name, please.");
  //ユーザーの入力を取得して、変数に代入する。
  //Consoleクラスのメソッド(readLine)を呼び出す
  name = console.readLine();
  System.out.println("Hello, " + name);
 }
}

#コンパイルしてテスト
$ java aisatsu
Input your name, please.
Kappa
Hello, Kappa



上のソースコードでは、文頭に"import java.io.Console"と宣言することで、Consoleクラスをimportしていました。import文を書かなくても、"java.io.Console"のようにパッケージ名とクラス名を合わせて指定することで、ソースコード内でクラスを参照することもできます。


// aisatsu.java
public class aisatsu{
 public static void main(String[] args){
  //変数の宣言
  String name;
  //Consoleクラスを使用するための準備。
  //パッケージ名とクラス名を書く。
  java.io.Console console = System.console();
  System.out.println("Input your name, please.");
  //ユーザーの入力を取得して、変数に代入する。
  //Consoleクラスのメソッド(readLine)を呼び出す
  name = console.readLine();
  System.out.println("Hello, " + name);
 }
}


【参考文献】
丸の内とら『Java入門教室』SE SHOEISHA 2012 75-83pp