【Java SE17 Silver 模擬試験】B-48

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

問題

次のコード断片の//[ A ]の部分に記述するとコンパイルエラー、または実行時に例外がスローされるものはどれですか。(3つ選択)

Main.java

import java.util.ArrayList;
import java.util.List;

public class Main {
	public static void main(String... args) {
		Student[] students = { new Student("Duke"), new Student("Scott"), new Student("Sakila") };
		List<Student> list = new ArrayList<>();
		for (Student s : students) {
			list.add(s);
		}
		//[ A ]
	}
}

Student.java

record Student(String name) {}

選択肢

A) list.set(3, new Student("Candy"));
B) list.add(new Student("Duke"));
C) list.add(new Student(null));
D) list.add(null);
E) list.add(0, new Student(""));
F) list.add(new Student());
G) list.add("Candy");
H) list.set(1, new Student("Wendy"));

解答

A) list.set(3, new Student("Candy"));
B) list.add(new Student("Duke"));
C) list.add(new Student(null));
D) list.add(null);
E) list.add(0, new Student(""));
F) list.add(new Student());
G) list.add("Candy");
H) list.set(1, new Student("Wendy"));

解説

A) list.set(3, new Student("Candy"));

IndexOutOfBoundsException例外がスローされます。

F) list.add(new Student());

Studentクラスの引数なしのStudentコンストラクタが未定義のためコンパイルエラーです。

G) list.add("Candy");

String型ではなく、Student型にする必要があります。

前の問題へ SE17_B-47

次の問題へ SE17_B-49

対象資格:Java SE17 認定資格