diff options
author | Camil Staps | 2015-04-18 13:44:44 +0200 |
---|---|---|
committer | Camil Staps | 2015-04-18 13:44:44 +0200 |
commit | 6a44b074f0169a1b0f9e92347af929c5e471746e (patch) | |
tree | ae5663fe7c69881bf4ecfedbef99c2505f8ec964 /Week5 Quiz/src/week5/Week5.java | |
parent | Added copyright to docs (diff) |
Reorganised projects
Diffstat (limited to 'Week5 Quiz/src/week5/Week5.java')
-rw-r--r-- | Week5 Quiz/src/week5/Week5.java | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/Week5 Quiz/src/week5/Week5.java b/Week5 Quiz/src/week5/Week5.java new file mode 100644 index 0000000..24f91b2 --- /dev/null +++ b/Week5 Quiz/src/week5/Week5.java @@ -0,0 +1,106 @@ +package week5; + +import java.util.LinkedList; +import java.util.List; +import java.util.Scanner; + +/** + * Uitwerking voor week 5 + * + * @author Camil Staps, s4498062 + */ +public class Week5 { + + private final List<Question> questions = new LinkedList<Question>(); + private final List<Question> questions_2 = new LinkedList<Question>(); + + private int score_round1 = 0; + private int score_round2 = 0; + + /** + * @param args the command line arguments + */ + public static void main(String[] args) { + Week5 w5 = new Week5(); + w5.play(); + } + + /** + * Add default questions + */ + public Week5() { + questions.add(new OpenQuestion("Wat is de complexiteit van binair zoeken?", "O(log N)")); + questions.add(new OpenQuestion("Hoe lees je in Java een integer i uit een scanner s?", "i = s.nextInt();", 2)); + questions.add(new OpenQuestion("Is er verschil tussen een interface en een abstracte klasse?", "Ja", 5)); + questions.add(new OpenQuestion("Hoeveel constructoren je minstens maken bij een klasse in Java?", "0", 2)); + questions.add(new OpenQuestion("Is er een maximum aantal constructoren van een klasse in Java?", "Nee")); + + questions.add(new MCQuestion("Wat is de complexiteit van slim in situ sorteren?", new String [] { + "O(N^2)", + "O(N log N)", + "O(N)", + "O(log N)"}, 1, 4)); + questions.add(new MCQuestion("Hoe print je \"Hello world\" op een regel in Java?", new String [] { + "System.out.print(\"Hello world\");", + "System.out.println(\"Hello world\");", + "cout << \"Hello world\";"}, 1)); + questions.add(new MCQuestion("Hoe lees je in Java een niet leeg woord uit scanner s?", new String []{ + "s.nextline()", + "s.next(\"\\S+\")", + "s.next(\"\\a*\")", + "s.next(\"\\S*\")", + "s.next(\"\\\\s+\")", + "s.next(\"\\s+\")", + "s.nextString(\"\\s*\")", + "s.next(\"\\\\S+\")", + "s.nextString()"}, 7, 1)); + + questions.add(new TCQuestion("Deze opgave is eigenlijk niet zo moeilijk.", "Juist", "Onjuist", 0, 5)); + } + + private void play() { + round1(); + System.out.println(); + round2(); + System.out.println(); + + System.out.println("Score ronde 1: " + score_round1); + System.out.println("Score ronde 2: " + score_round2); + } + + private void round1() { + Scanner sc = new Scanner(System.in); + + for (Question q : questions) { + System.out.println(q); + if (q.isCorrect(sc.nextLine())) { + System.out.println("Goed zo!\n"); + score_round1 += q.getWeight(); + } else { + System.out.println("Helaas...\n"); + questions_2.add(q.duplicate()); + } + } + } + + private void round2() { + Scanner sc = new Scanner(System.in); + + if (!questions_2.isEmpty()) { + System.out.println("Je krijgt een herkansing voor de " + questions_2.size() + " vragen die je zojuist fout had.\n"); + + for (Question q : questions_2) { + System.out.println(q); + if (q.isCorrect(sc.nextLine())) { + System.out.println("Goed zo!\n"); + score_round2 += q.getWeight(); + } else { + System.out.println("Helaas... het juiste antwoord was: " + q.juisteAntwoord() + "\n"); + } + } + } else { + System.out.println("Alle vragen goed!"); + } + } + +} |