回答編集履歴
2
コードを微調整2
answer
CHANGED
@@ -35,6 +35,7 @@
|
|
35
35
|
Collections.shuffle(numbers);
|
36
36
|
String correctNumber = numbers.get(0); // 正解の番号
|
37
37
|
|
38
|
+
// 表示用の選択肢
|
38
39
|
List<String> choices = new ArrayList<>();
|
39
40
|
|
40
41
|
// 先に正解を追加
|
1
コードを微調整
answer
CHANGED
@@ -12,25 +12,41 @@
|
|
12
12
|
|
13
13
|
例:
|
14
14
|
※`Question`を1質問を表すクラスにしている
|
15
|
+
※問題のシャッフルは省略
|
15
16
|
|
16
17
|
```lang-java
|
17
18
|
// import java.util.*;
|
18
19
|
|
20
|
+
Question[] questions = {
|
21
|
+
// 問1
|
22
|
+
new Question(
|
23
|
+
// 問題文 (sentence)
|
24
|
+
"キューに関する記述として、最も適切なものはどれか。",
|
25
|
+
// 正解 (correctAnswer)
|
26
|
+
" 最初に格納されたデータが最初に取り出される。",
|
27
|
+
// 不正解 (wrongAnswers)
|
28
|
+
" 最後に格納されたデータが最初に取り出される。",
|
29
|
+
" 添え字を用いて特定のデータを参照する。",
|
19
|
-
|
30
|
+
" 二つ以上のポインタを用いてデータの階層関係を表現する。") };
|
31
|
+
|
20
32
|
for (Question q : questions) {
|
33
|
+
// 選択肢の番号(選択肢の数によって変えられるようにしてもOK)
|
34
|
+
List<String> numbers = Arrays.asList("ア", "イ", "ウ", "エ");
|
21
35
|
Collections.shuffle(numbers);
|
22
36
|
String correctNumber = numbers.get(0); // 正解の番号
|
23
37
|
|
24
38
|
List<String> choices = new ArrayList<>();
|
39
|
+
|
25
40
|
// 先に正解を追加
|
26
41
|
choices.add(String.format("%s. %s", correctNumber, q.getCorrectAnswer()));
|
42
|
+
|
27
43
|
// 不正解を追加
|
28
|
-
String[] wrongs = q.getWrongAnswers();
|
29
44
|
int i = 0;
|
30
|
-
for (String wrong :
|
45
|
+
for (String wrong : q.getWrongAnswers()) {
|
31
46
|
++i;
|
32
47
|
choices.add(String.format("%s. %s", numbers.get(i), wrong));
|
33
48
|
}
|
49
|
+
|
34
50
|
// 番号順に並べ直す
|
35
51
|
Collections.sort(choices);
|
36
52
|
|
@@ -41,4 +57,4 @@
|
|
41
57
|
}
|
42
58
|
System.out.println("正解: " + correctNumber);
|
43
59
|
}
|
44
|
-
```
|
60
|
+
```
|