diff options
Diffstat (limited to 'Week5/src/week5/MCQuestion.java')
-rw-r--r-- | Week5/src/week5/MCQuestion.java | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/Week5/src/week5/MCQuestion.java b/Week5/src/week5/MCQuestion.java deleted file mode 100644 index 86869c5..0000000 --- a/Week5/src/week5/MCQuestion.java +++ /dev/null @@ -1,81 +0,0 @@ -package week5; - -import java.util.Random; - -/** - * Class for multiple choice questions - * - * Note: for 2-choice questions the TCQuestion class should be used. - * - * @author Camil Staps, s4498062 - */ -public class MCQuestion extends Question { - - protected final String[] answers; - protected final int correctAnswer; - - /** - * Construct a new instance - * - * @param question the question - * @param answers array of the answer - * @param correctAnswer index for answers pointing to the correct answer - * @param weight weight of the question - */ - public MCQuestion (String question, String[] answers, int correctAnswer, int weight) { - this.question = question; - this.answers = answers; - this.correctAnswer = correctAnswer; - setWeight(weight); - } - - /** See the javadoc on the constructor above */ - public MCQuestion (String question, String[] answers, int correctAnswer) { - this.question = question; - this.answers = answers; - this.correctAnswer = correctAnswer; - } - - @Override - public boolean isCorrect(String answer) { - return correctAnswer == (answer.charAt(0) - 'A'); - } - - @Override - public String juisteAntwoord() { - return answers[correctAnswer]; - } - - @Override - public String toString() { - StringBuilder sb = new StringBuilder(super.toString()); - sb.append("\n"); - int i = 0; - for (String a : answers) { - sb.append((char) ('A' + i++)).append(": ").append(a).append("\n"); - } - sb.deleteCharAt(sb.length() - 1); - return sb.toString(); - } - - /** - * For this type of questions, duplicating randomizes the order of the answers. - * - * @return A new instance of the MCQuestion class with the same parameters, just another order of the answers. - */ - @Override - public Question duplicate() { - Random r = new Random(); - int shift = r.nextInt(answers.length - 1) + 1; - - String[] new_answers = new String[answers.length]; - for (String a : answers) { - new_answers[shift++ % answers.length] = a; - } - - int new_correctAnswer = (correctAnswer + shift) % answers.length; - - return new MCQuestion(question, new_answers, new_correctAnswer, weight); - } - -} |