平成19年度 技術士第一次試験問題【専門科目】
【16】情報工学部門
W−2
Java言語で書いた次のプログラムがある。A.foo() を呼び出したときの
返り値として適切なものを@〜Dの中から選べ。

class A {
 static int foo() {
  int x = 0;
  try { x = B.bar(x); }
  catch (Error y) { x += 4; }
  finally { x += 8; }
  return x;
 }
}
class B {
 static int bar(int x) throws Error {
  try { throw new Error(); }
  catch (Error y) { x += 1; }
  finally { x += 2; }
  return x;
  }
}

@ 1  A 3  B 5  C 11  D 15



【正解】 C

以下の処理を行う。

class A
 int x = 0;  ・・・ x に 0 を格納
class B
 try { x = B.bar(0); } ・・・barメソッドを呼び出し。
 try { throw new Error(); } ・・・例外を発生させる。
 catch (Error y) { x += 1; }  ・・・ x に 1 を加える (x=1)
 finally { x += 2; }  ・・・x に 2 を加える。 (x=3)
class A
 finally { x += 8; } ・・・ x に 8 を加える。 (
x=11)


EXCELのマクロのご相談なら ファーストマクロ 



W−1 目次 W−3
ファーストマクロ TOPページ