誤答では、選択肢 (C)の 123Daaahが入っていない人が多い。 数字はクラス名の先頭にはできない。
(B)の
System.out.println("nが"+n+"のとき n!は"+f)を解答の中に入れている人は多かったが、(A)の
System.out.printf("nが%dのとき n!は%d%n", n, f)を入れていない人が多かった。
非常に基本的な問題であるにも関わらず、期待に反して正解率が低い。 この問題ができなければ、Javaのライブラリが利用できず、 Javaを勉強する甲斐がない。 間違った人はしっかり反省して欲しい。
典型的な間違いの例:f = deriveFont(sz);こういう書き方は deriveFontが JAppletクラスで定義されているメソッドでなければできない。
f.deriveFont(sz);deriveFontはFontオブジェクトの中身を変えるわけではない。 これでは、生成された新しい Fontオブジェクトがそのまま使われずに捨てられてしまう。
g = g.deriveFont(sz);deriveFontはFontクラスのメソッドだから、 Fontクラスのオブジェクトに適用しなければいけない。
f = Font.deriveFont(sz);deriveFontはクラスメソッドではない。
str = str.deriveFont(sz);strって何?
public Font deriveFont(float sz);… orz。コメントのしようがない間違いだが、 この手の誤答を書いた人は1人や2人ではない。
念のためコメントすると、CやJavaのメソッドは、 定義するときには型などの情報(public, Font, float)がいるが、使用するときには必要ない。
extends JApplet implements ActionListener正答率 97%
aBtn.addActionListener(this); cBtn.addActionListener(this);正答率 97%
aEvt.getSource() == aBtn2.
aEvt.getSource() == cBtn正答率 68%
e.getSource() == … という間違いが多かったが、 eなんて変数はどこにも定義されていない。
extends JApplet
new ActionListener() { public void actionPerformed(ActionEvent aEvt) { m--; repaint(); } }2.
new ActionListener() { public void actionPerformed(ActionEvent aEvt) { m++; repaint(); } }正答率 70%
誤答では、肝腎の 赤字の部分が抜けている誤答が多かった。