Hallo, da bin ich wieder. Ganz nebensächlich bitte nicht auf die Fragen achten, ist nur zum üben 😄
Mein Problem ist, dass bei der 3. Frage direkt in den Else block übergegangen wird.
In der Ausgabe kommt dann "Gebe hier deine Antwort ein: Falsch. Die Antwort ist Ja!" obwohl ich nichts eingebe.
Java:
importjava.util.Scanner;publicclassMain{staticint punktzahl =0;staticString antwort1 ="2. Platz";staticString antwort3 ="Ja";publicstaticvoidmain(String[] args){try(Scanner scan =newScanner(System.in)){System.out.println("Du läufst ein Marathon und überholst den 2. Platz, auf welchem Platz bist du dann?");System.out.print("Gebe hier deine Antwort ein: ");String eins = scan.nextLine();frage1(eins);System.out.println("Berlin schreibt man am Anfang mit B und hinten mit h. Stimmt das?");System.out.print("Gebe hier deine Antwort ein: ");String drei = scan.nextLine();frage3(drei);}}publicstaticvoidfrage1(String eins){if(eins.equals(antwort1)){ punktzahl++;System.out.println("Richtig! Du hast "+ punktzahl +" Punkt.");}else{System.out.println("Falsch. Die Antwort ist der 2. Platz!");}}publicstaticvoidfrage3(String drei){if(drei.equals(antwort3)){ punktzahl++;System.out.println("Richtig! Du hast "+ punktzahl +" Punkte.");}else{System.out.println("Falsch. Die Antwort ist Ja!");}}}
Hallo, da bin ich wieder. Ganz nebensächlich bitte nicht auf die Fragen achten, ist nur zum üben 😄
Mein Problem ist, dass bei der 3. Frage direkt in den Else block übergegangen wird.
In der Ausgabe kommt dann "Gebe hier deine Antwort ein: Falsch. Die Antwort ist Ja!" obwohl ich nichts eingebe.
Java:
importjava.util.Scanner;publicclassMain{staticint punktzahl =0;staticString antwort1 ="2. Platz";staticString antwort3 ="Ja";publicstaticvoidmain(String[] args){try(Scanner scan =newScanner(System.in)){System.out.println("Du läufst ein Marathon und überholst den 2. Platz, auf welchem Platz bist du dann?");System.out.print("Gebe hier deine Antwort ein: ");String eins = scan.nextLine();frage1(eins);System.out.println("Berlin schreibt man am Anfang mit B und hinten mit h. Stimmt das?");System.out.print("Gebe hier deine Antwort ein: ");String drei = scan.nextLine();frage3(drei);}}publicstaticvoidfrage1(String eins){if(eins.equals(antwort1)){ punktzahl++;System.out.println("Richtig! Du hast "+ punktzahl +" Punkt.");}else{System.out.println("Falsch. Die Antwort ist der 2. Platz!");}}publicstaticvoidfrage3(String drei){if(drei.equals(antwort3)){ punktzahl++;System.out.println("Richtig! Du hast "+ punktzahl +" Punkte.");}else{System.out.println("Falsch. Die Antwort ist Ja!");}}}
Moment mal. Ich habe, damit der Beitrag nicht so lang wird Frage 2 rausgenommen. Habe den Code hier vom Beitrag dann mal in Eclipse eingefügt und auf einmal funktioniert es ... Ich poste jetzt lieber den ganzen Code. Bin echt verwirrt..
Vielen Dank! Hat funktioniert.
Verstehen tu ich es aber nicht ganz. Ich dachte, weil man da nur Zahlen eingeben kann, scannt man auch nur Integer.
Sollte man nach einem scan.nextInt immer einen scan.nextLine schreiben oder gibt es da eine Voraussetzung?