FC2ブログ

駆け出しエンジニアの気ままにブログ

このブログでは、駆け出しエンジニアの私が興味をもったトピックについて不定期に発信しています。

スポンサーサイト  

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

category: スポンサー広告

tb: --   cm: --

『EclipseでJavaの入出力を理解する』ための要点を忘れないようにまとめておく  

『EclipseでJavaの入出力を理解する』要点まとめ

programmingimage

前回に引き続き、開発環境としてEclipse(Indigo Service Release 2)を使ったJavaプログラムの書き方として、基本操作であるJavaの入出力制御について、備忘録、コピペ用としてまとめます。

対話システムを実現するためには必要不可欠な処理ですね。 やりたいことは、次のように「(コンソール画面で)ユーザーが入力した内容をコンピュータで受け取り、出力すること」です。 C言語でいうところの、"scanf()"、"prinft()"の処理にあたります。

 コンピュータ:あなたの名前を教えてください。
 <ユーザー入力>:○○
 コンピュータ:○○さん、こんにちは。

さっそく回答ですが、プログラムは以下の通りになります。

//SampleIO.java
package jp.javadrive;

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class SampleIO {
   public static void main(String[] args) throws java.lang.Exception {
      BufferedReader in = new BufferedReader(
                          new InputStreamReader(System.in));
      System.out.println("コンピュータ:あなたの名前を教えてください。");
      System.out.print("<ユーザー入力>:");
      String name = in.readLine();
      in.close();
      System.out.println("コンピュータ:"+name +"さん、こんちには。");
   }
}


◆標準入出力(IO)関数

「java.io.BufferedReader」,「java.io.InputStreamReader」の2つのクラスをインポートします。

java.io.BufferedReaderのインスタンスを生成するためには、次のようにコーディングします。 java.lang.SystemクラスはSystemと省略できる点に注意してください。

java.io.BufferedReader in =
   new java.io.BufferedReader(
   new java.io.InputStreamReader(System.in));

java.io.InputStreamReaderクラスは、文字列データが流れている入力ストリームを使用するときに使い、この文字列データストリームをバッファリングする機能を追加したい場合に、java.io.BufferedReaderクラスを使います。 このように書くことで、キーボードからの入力を受け付けることができるようになります。 また、入力されるユーザーの名前を読み込むためには、readLineメソッドを使ってコーディングします。ここで、inはjava.io.BufferedReader型の変数だとします。

String line = in.readLine();
in.close();


◆ストリームについて

APIリファレンスによると、「標準エラー出力」ストリーム、「標準入力」ストリームのように、ストリームという用語が出てきています。 ストリームは「川の流れ、液体・気体などの一定の流れ」という意味で、入出力されるデータは「川の流れ」のように流れていくので、この用語が使われています。


◆書式付きの入出力について

同じプログラムを書式付きの入出力を使った別の方法でも実装できます。こちらの方が、C言語に近いですね。 入力データの読み込みについては標準入力ストリームとjava.util.Scannerクラスを使い、データの出力には、標準出力ストリームとjava.io.PrintStreamクラスのprintfメソッドを使います。

//SampleIO2.java
import java.util.Scanner;

public class SampleIO2 {
   public static void main(String[] args) throws java.lang.Exception {
      Scanner str = new Scanner(System.in);
      System.out.println("コンピュータ:あなたの名前を教えてください。");
      System.out.print("<ユーザー入力>:");
      String name = str.next();
      str.close();
      System.out.printf("コンピュータ:%sさん、こんにちは。", name);
   }
}


ということで、今回は以上です。Javaで活用できる入出力のioクラスの基本は抑えておきましょう。

次回は、入力データをファイルに格納したり、ファイルに格納されているデータを使って出力文章をなどの「ファイルへの入出力」を近いうちにまとめていきたいと思います。

今回も、最後まで付き合ってくれた方、本当にどうもありがとうございました。m(_ _)m

<参考>
@IT:EclipseでJavaの入出力を理解する

(2012年09月09日)

 


スポンサーサイト

category: Java

tb: 0   cm: 0

コメント

コメントの投稿

Secret

トラックバック

トラックバックURL
→http://kazufumi1984engineer.blog.fc2.com/tb.php/78-fc6426eb
この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。