ここでは、当社の新人研修受講者に向けて、基本情報のJavaの過去問を掲載しています。

想定しているのは、NetBeansなどのIDEにコピー・ペーストしたうえで、自分の正しいと思う答えを埋めて動作を確認するという使い方です。


次の Java プログラムの説明及びプログラムを読んで,設問に答えよ。

〔プログラムの説明〕

PC のセキュリティに関する更新プログラム(以下,パッチという)の適用状況を管理するプログラムである。

クラス PCChecker は,PC に適用が要求されるパッチと各 PC に適用済みのパッチを管理し,その適用状況の一覧を出力する。 PC のパッチ情報として次のものが登録される。

① PC の識別子

② PC の種別(デスクトップ PC 又はノート PC)

③ 適用済みのパッチの識別子(複数の場合は複数個)

④ ノート PC の場合,暗号化ツールがインストールされているか否か

PC に問題がない(secure)と判断する基準は,次のとおりである。

デスクトップ PC: 適用が要求されるパッチがすべて適用されている。

ノート PC: 適用が要求されるパッチがすべて適用されている。

       さらに,暗号化ツールがインストールされている。

(1) クラス PCChecker は,PC のパッチ情報を管理するために,クラス DesktopPC とクラス NotebookPC のインスタンスを用いる。

(2) クラス PC は,デスクトップ PC とノート PC に共通の処理を実現する。 メソッドinstallPatch は,指定されたパッチを適用済みにする。 メソッド installed は,指定されたパッチが適用済みのとき true,未適用のとき false を返す。 メソッドrequiresEncryptionTool は,暗号化ツールのインストールが必要なとき true, 不必要なとき false を返す。

(3) クラス DesktopPC は,デスクトップ PC を表し,デスクトップ PC 独自の処理を実現する。

(4) クラス NotebookPC は,ノート PC を表し,ノート PC 独自の処理を実現する。

(5) クラス PCChecker のメソッド main は,このプログラムの使用例である。 その実行結果を,次に示す。

(6) クラス java.util.ArrayList は,オブジェクトをリストで管理する手段を提供する。 次のメソッドを利用している。

  public boolean add(Object obj)
     オブジェクト obj をリストに追加し,true を返す。

  public boolean contains(Object obj)
     オブジェクト obj がリストに含まれる場合に true,含まれない場合に false を返す。

  public boolean isEmpty()
      リストが空の場合に true,空でない場合に false を返す。

[プログラム1]

[プログラム2

[プログラム3

[プログラム4

設問 プログラム中の/*    */ に入れる正しい答えを, 解答群の中から選べ。

a に関する解答群

ア installedPatches.isEmpty()

イ !installedPatches.isEmpty()

ウ installedPatches.contains(patch)

エ !installedPatches.contains(patch)

オ patch == null

カ patch != null

b に関する解答群

ア extends Object       イ extends PC

ウ extends PCChecker     エ implements Object

オ implements PC       カ implements PCChecker

c に関する解答群

ア PC()        イ PC(id)        ウ super()

エ super(id)      オ this.id = id

d に関する解答群

ア curPatches[j] != null

イ notApplied.isEmpty()

ウ pc[i] != null

エ pc[i].installed(curPatches[j])

オ !pc[i].installed(curPatches[j])