| 学籍番号 | 氏名 |
(4 × 2)
| (ⅰ) | (C), (D) | (ⅱ) | (A), (C) |
(5,2,2,4,2,4,2,5,6)
| (ⅰ) | extends JPanel implements KeyListener |
| (ⅱ) | points.removeLast() |
| (ⅲ) | points.removeFirst() |
| (ⅳ) | points.addLast(new int[] {x, y}) |
| (ⅴ) | points.size() |
| (ⅵ) | Color.getHSBColor(h, 1, 1) または Color.getHSBColor(h, 1.0f, 1.0f) |
| (ⅶ) | points.get(i) |
| (ⅷ) | extends JPanel |
| (ⅸ) | // ☆ は DiaDraw.java の 17 行目から 39 行目 |
addKeyListener(new KeyListener() { | |
public void keyTyped(KeyEvent e) { | |
☆ | |
} | |
public void keyPressed(KeyEvent e) {} | |
public void keyReleased(KeyEvent e) {} | |
}) | |
(A), (F) はエラーになりコンパイルできない。
(B) はそのまま「${x} の 2 倍は、${x * 2} です。」と出力される。
「*」演算子は「+」演算子より優先するので、(D) は「4 の 2 倍は、8 です。」と出力される。
「+」演算子は左から先に計算するので、(E) は「4 の 2 倍は、44 です。」と出力される。
(A) Java では public なクラスとファイル名は一致させなければいけないので、 必然的に一つのファイルに定義できる public なクラスは一つだけになる。
(B) Java と JavaScript は名前が似ているだけで何の関係もない。
(C) Java ではスーパークラスは一つだけで、正しい。
(D) C と Java も文法が似ている、以上の関係は何もない。
(ⅰ) Listener の綴りを間違っている人がときどきいる。
(ⅱ) e.removeLast(), k.removeLast(), p.removeLast() などの誤答が目立った。
(ⅳ) new int[] {x, y} のところまで正しく書けている解答は少なかった。
(ⅵ) 1.0 は double 型になるので、厳密にいうと Color.getHSBColor(h, 1.0, 1.0) ではエラーになる。
また、Color. を省略するためには、import static java.awt.Color.* が必要になる。
(ⅷ) この DiaDraw2 クラスが keyTyped などを実装しているわけではないので implements KeyListener は必要ない。
(ⅸ) keyPressed, keyReleased メソッドの定義も必要である。