本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

令和元年度 技術士第一次試験問題【専門科目】

V−7

次のJavaのプログラムを実行したときに出力される結果として、最も適切なものはどれか。

class Inc {
 int inc (int a) { return ++a; }
}

class PlusTwo extends Inc {
 int incTwice (int a) { return inc(inc(a)); }
}

class PlusTwo2 extends PlusTwo {
 int inc (int a) { return --a; }
}

public class Calc {
 public static void main (String[] args) {
  PlusTwo x = new PlusTwo2();
  System.out.println(x.incTwice (5));
 }
}

@ 3  A 4  B 5  C 6  D 7


正解

@


解説

PlusTwo x = new PlusTwo2(); によってPlusTwo2クラスをインスタンス化していため、
x.incTwice (5) は PlusTwo2クラスの inc() を呼び出し、引数から1を引いた値を返す。

したがって、 inc(inc(5)) = inc(4) = 3 であり、3が出力される。

V−6 目次 V−8