Jeg tillod mig lige at lave lidt ændringer i dit program, for at gøre det lidt nemmere at teste for korrekt input
.. Det jeg tænkte på, var noget i denne stil.
- import java.util.Scanner;
-
- public class Quiz {
-
- public static void main(String args[]) {
- Scanner reader;
- String[] sm = new String[10];
- String[] s = new String[10];
-
- reader = new Scanner(System.in);
- sm[0] = "Hej og velkommen til denne her spoergsmaalsrunde! Håber du er klar! Er du det?";
- sm[1] = "Er du klam?";
- sm[2] = "Er du sikker?";
- sm[3] = "Har du klamydia?";
- sm[4] = "Er du sikker?";
- sm[5] = "Er du grim?";
- sm[6] = "Er du sikker?";
- sm[7] = "Har du AIDS?";
- sm[8] = "Er du sikker?";
- sm[9] = "Var den her quiz god?";
-
- int question = 0;
- String input;
-
-
- while(true){
- System.out.println(sm[question]);
- input = reader.nextLine();
-
- if(validQuestion(input)){
- s[question] = input;
- question++;
-
- if(question==10){
- System.out.println("I'm here");
- break;
- }
- }else{
- System.out.println("Du skal skrive enten \"ja\" eller \"nej\"");
- }
- }
-
-
- int x = 0;
-
- if (s[0].equals("ja")) {
- x++;
- }
-
- if (s[2].equals("ja")) {
- x++;
- }
-
- if (s[4].equals("ja")) {
- x++;
- }
-
- if (s[6].equals("ja")) {
- x++;
- }
-
- if (s[8].equals("ja")) {
- x++;
-
- }
- if (s[1].equals("nej")) {
- x++;
- }
-
- if (s[3].equals("nej")) {
- x++;
- }
-
- if (s[5].equals("nej")) {
- x++;
- }
-
- if (s[7].equals("nej")) {
- x++;
- }
-
- if (s[9].equals("nej")) {
- x++;
- }
-
- System.out.println("Du har " + x + " fejl ud af 10 spørgsmål!");
-
- }
-
- public static boolean validQuestion(String in){
- if(in.equals("ja") || in.equals("nej")){
- return true;
- }
- return false;
- }
- }
Dog burde metoden validQuestion enligt hedde validInput
Det jeg gør, er at man tjekker for om brugerens input er det, man forventer, hvis det ikke er det, beder man brugeren taste det ind engang til.