第6講・その2(2) 解答例のプログラム

/* ClassTableReader
  * 利用目的:ファイルから「1日分の時間割」を読み込みその内容をディスプレイに表示する
  */

import java.io.*;	// 入出力関連パッケージの利用を宣言する
import java.util.*;	// ユーティリティパッケージの利用を宣言する

public class ClassTableReader{

	/*属性の定義*/
	Vector day;	//「1日分の時間割」を格納するVector


	/*メソッド1・ファイルから「1日分の時間割」を読み込む*/
	public void fileIn(){
		try{
			/*ファイル入力の準備をする*/
			FileInputStream fis =	//ファイルを出力する準備をする
				new FileInputStream( "Day.data" );	
			ObjectInputStream ois =	//インスタンスを出力する準備をする
	 			new ObjectInputStream( fis );

			/*ファイルから読み込んだ「1日の時間割」をVectorに格納する*/
			day = (Vector)ois.readObject();

		}//エラーが出たらエラーメッセージを表示してプログラムを終了する
		catch(Exception e){System.out.println("エラーが発生したのでプログラムを終了します");}
	}


	/*メソッド2・Vectorに格納された「1日分の時間割」をディスプレイに表示する*/
	public void print(){
		try{
			/*「1日分の時間割」を表示する*/
			int i = 0;
			while(i<5){

				ClassTable ct = (ClassTable)day.elementAt(i); //Vectorから「授業の情報」を取り出す
				ct.showData(); //取り出した「授業の情報」を表示する
  	 			i++;
			}
		}//エラーが出たらエラーメッセージを表示してプログラムを終了する
		catch(Exception e){System.out.println("エラーが発生したのでプログラムを終了します");}
	}
	
	/*メイン・メソッド・*/
	public static void main ( String args[] ){	
		/*ClassTableReaderをインスタンス化する*/
		ClassTableReader ctr = new ClassTableReader();
	
		/*ファイルから「1日分の時間割」を読み込む*/
		ctr.fileIn();

		/*「1日分の時間割」をディスプレイに表示する*/
		ctr.print();
	}
}

>>第6講・その2(2)に戻る