【Java SE17 Silver 模擬試験】A-25

Java SE17 Silver 模擬試験
Java SE17 Silver 模擬試験

問題

次のList items の要素を全て出力するコードはどれですか。(2つ選択)

List<Item> items = new ArrayList<>();
items.add(new Item("Java", 100));
items.add(new Item("Database", 300));
items.add(new Item("Cloud", 200));

選択肢

A) for (int i = 0; i <= items.size(); i++) {
          Item item = (Item) items.get(i);
          System.out.print(item + " ");
     }
B) for (int i = 0; i < items.size(); i++) {
          Item item = items.get(i);
          System.out.print(item + " ");
     }
C) for (Item item : items) {
          System.out.print(item + " ");
     }
D) for (Item i : item) {
          System.out.print(item + " ");
     }
E) for (int i = 0; i < items.length; i++) {
          Item item = items[i];
          System.out.print(item + " ");
     }

解答

A) for (int i = 0; i <= items.size(); i++) {
Item item = (Item) items.get(i);
System.out.print(item + " ");
}
B) for (int i = 0; i < items.size(); i++) {
          Item item = items.get(i);
          System.out.print(item + " ");
     }
C) for (Item item : items) {
          System.out.print(item + " ");
     }
D) for (Item i : item) {
          System.out.print(item + " ");
     }
E) for (int i = 0; i < items.length; i++) {
Item item = items[i];
System.out.print(item + " ");
}

解説

A) for (int i = 0; i <= items.size(); i++) {
          Item item = (Item) items.get(i);
          System.out.print(item + " ");
     }

for文の条件式内の、i <= items.size();により、List内に格納されている要素数以上にアクセスしているため、例外がスローされます。

D) for (Item i : item) {            //リスト名のitemsと記述する必要があります。
          System.out.print(item + " ");
     }

拡張for文の定義方法が間違っています。

E) for (int i = 0; i < items.length; i++) {
Item item = items[i];
System.out.print(item + " ");
}

配列の要素の取り出し方が記述されています。
コレクションフレームワークと配列の要素の取り出し方は違います。

前の問題へ SE17_A-24

次の問題へ SE17_A-26


対象資格:Java SE17 認定資格