teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

コードを微調整2

2015/12/02 07:58

投稿

argius
argius

スコア9396

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

コードを微調整

2015/12/02 07:58

投稿

argius
argius

スコア9396

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
- List<String> numbers = Arrays.asList("ア", "イ", "ウ", "エ");
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 : wrongs) {
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
+ ```