![]()
平成16年 春期 基本情報技術者 午後 問08
問08 Java
〔プログラムの説明〕 このプログラムは,数量の単位変換を行う共通機能を提供するクラス群と, それらのテストプログラムからなる。 テストプログラムでは,セルシウス温度(セ氏温度,゜C)及びカ氏温度 (゜F)の変換を行うクラスを利用する。 (1) インタフェース Converter は,単位変換を行うクラスが実装すべき インタフェースを定義する。 (2) クラス ConverterRunner は,単位変換クラスを利用するプログラムから アクセスするためのクラスである。 @ メソッド setConverter は,単位変換クラスのインスタンスを設定する。 A メソッド run は,単位変換クラスのメソッド convert を呼び出す。 (3) クラス CtoF は,セ氏温度の値を,カ氏温度に変換する処理を実装するクラスである。 (4) クラス FtoC は,カ氏温度の値を,セ氏温度に変換する処理を実装するクラスである。 (5) クラス TestConverter は,単位変換クラスを利用するテストプログラムである。 メソッド main は,実行すべき単位変換処理(1 : カ氏−セ氏変換, 2 : セ氏−カ氏変換,q : 終了)の選択を促してから, 入力された値を指定された処理に従って変換する。 実行例を図に示す。
図 クラス TestConverter の実行例 〔プログラム 1〕 public interface Converter {
〔プログラム 2〕 public class ConverterRunner { private
〔プログラム 3〕 public class CtoF
〔プログラム 4〕 public class FtoC
〔プログラム 5〕 import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class TestConverter { public static void main(String[] args) { // 標準入力から入力を受け取る reader を作成する BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); ConverterRunner runner = new ConverterRunner(); try { while (true) { System.out.print("Type 1(FtoC), 2(CtoF), " + "or q(Quit): "); // 標準入力から1行読み込む String choice = reader.readLine(); if ("1".equals(choice)) { runner.setConverter(new FtoC()); } else if ("2".equals(choice)) { runner.setConverter(new CtoF()); } else if ("q".equals(choice)) { break; } else continue; System.out.print("Type input value: "); // 標準入力から1行読み込む String value = reader.readLine();
設問 プログラム中の
a に関する解答群 ア abstract public void convert(); イ public double convert(double input) { } ウ public double convert(double input); エ public double convert(String input); b に関する解答群 ア Converter イ ConverterRunner ウ CtoF エ FtoC c に関する解答群 ア extends Converter イ extends ConverterRunner ウ implements Converter エ implements ConverterRunner d に関する解答群 ア runner.conv.convert(Double.parseDouble(value)); イ runner.conv.run(value); ウ runner.convert(Double.parseDouble(value)); エ runner.run(value);
[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]
©2004-2024 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
| |