![]()
平成20年 春期 基本情報技術者 午後 問08
問08 Java次の Java プログラムの説明及びプログラムを読んで,設問に答えよ。 〔プログラムの説明〕 電気ポットの状態遷移を模したプログラムである。、この電気ポットは,電源に接続 すると休止状態になり,沸騰ボタンが押されると加熱を開始する。沸点に到達すると 加熱を終了し,休止状態に戻る。ただし,電気ポットに水がない場合は,沸騰ボタンが 押されても加熱を開始せず,警告を表示する。電気ポットの状態遷移図を図1に示す。 ![]() 図1 電気ポットの状態遷移図 (2) クラス Idie 及びクラスHeating は,それぞれ,休止状態と加熱中状態を 示す State のサブクラスである。 (3) クラス ElectricPot は電気ポットを表す。フィールド currentState は ,電気ポットの状態を示す。フィールド content は,水量を示す。メソッド heat は, 沸騰ボタンが押されたときに呼ばれ,電気ポットに水があれば加熱を 開始する(電気ポットの状態を加熱中に遷移)。水がない場合は例外を投げる。 メソッド boiled は,水が沸点に到達したときに呼ばれ, 加熱を終了する(電気ポットの状態を休上に遷移)。 メソッド isEmpty は,水がない場合 true,それ以外の場合 false を返す。 メソッド main はテスト用のメインプログラムである。実行結果を図2に示す。
図2 メソッド main の実行結果
〔プログラム1〕 public abstract class Stale { public static final State IDLE = new Idle(); public static final State HEATING = new Heating(); public void heat(ElectricPot pot) throws Exception { if (
設問 プログラム中の a に関する解答群
ウ pot.isEmpty() エ !pot.isEmpty() オ pot == null カ pot != null
イ System.out.println("No Water!") ウ throw "No Water!" エ throw new Exception("No Water!")
ウ extends State エ implements Exception オ implements Object カ implements State
ウ super エ this
[←前の問題] [次の問題→] [問題一覧表] [分野別] [基本情報技術者試験TOP ]
©2004-2024 情報処理試験.jp
|
プライバシーポリシー・著作権・リンク
|
お問合わせ
| |