Ratespiel (Quiz) - Falsche Antwort -> Wiederholung

Shelly22

Mitglied
Hallo alle zusamme,

ich bin Neu hier und freue mich dabei sein zu dürfen.
Ich lerne schon bisschen länger Java.
Aber nicht immer viel Zeit dafür.
Deswegen dauert es bisschen länger bei mir um was zu verstehen :oops:.

Meine fragen an euch....
Ich wollte nur mal ein kleines RateSpiel Testen und Programmieren.
Wenn man die Antwort/Frage falsch eingibt soll man erneut sie eingeben können
bis man es richtig eingeben hat.

Nur wie mache ich das?

if mit einer for/while schleife oder switch?

Das ganze habe ich erstmal so geschrieben:

[Java]

String antwort = JOptionPane.showInputDialog(null,"Was ist das hier?");

if(antwort.equalsIgnoreCase("Ein Test"))
{
JOptionPane.showMessageDialog(null,"Richtig");
}
else
{
JOptionPane.showMessageDialog(null,"Falsch");
}


[/Java]

Nun fehlt halt noch der rest wo ich noch nicht so ganz bescheid weiß.
Hoffe ihr könnt mir Helfen.
:oops:

LG
 
Zuletzt bearbeitet von einem Moderator:

L-ectron-X

Gesperrter Benutzer
Kann man mit einer do-while Schleife machen.
Java:
import javax.swing.*;

public class Example {
   public static void main(String[] args) {
      Object[] possibleValues = { "Antwort wählen", "Zwei", "Eins", "Vier" };
      Object selectedValue = null;
      do {
         selectedValue = JOptionPane.showInputDialog(null,
         "Wie viele Augen hat ein Zyklop?", "Frage 1",
         JOptionPane.QUESTION_MESSAGE, null,
         possibleValues, possibleValues[0]);
      }
      while(!selectedValue.equals(possibleValues[2])); //richtige Antwort festlegen
   }
}
 

Shelly22

Mitglied
Hallo.

Super danke dir.
Einiges kenne ich noch nicht davon.

Ist das aber nicht mit dem " Eingeben" möglich?
Was du mir als Beispiel gegeben hast ist ja eine auswahl möglichkeit :D

Aber danke danke dir nochmal.
Das ist Super.
Werde damit es mal versuchen :toll:



LG
 

L-ectron-X

Gesperrter Benutzer
Was genau meinst du mit "eingeben"?
Willst du Text in ein Feld eingeben, und so lange dieser nicht stimmt, soll wiederholt werden?
 

Shelly22

Mitglied
Was genau meinst du mit "eingeben"?
Willst du Text in ein Feld eingeben, und so lange dieser nicht stimmt, soll wiederholt werden?

Hallo,

ja ein Text eingeben. :)

Ja genau so lange er nicht stimmt soll er wiederholt werden bis man ihn richtig eingeben hat. :oops:

Meine Eingabe wird im "String antwort" gespeichert.

Dann wird sie in "if" vergleicht ob er richtig eingeben wurde.

Java:
   String antwort = JOptionPane.showInputDialog(null,"Was ist das hier?");
            
        if(antwort.equalsIgnoreCase("Ein Test"))
        {
            JOptionPane.showMessageDialog(null,"Richtig");
        }
        else
        {
            JOptionPane.showMessageDialog(null,"Falsch");
        }
 
Zuletzt bearbeitet:

L-ectron-X

Gesperrter Benutzer
Ich habe dir mal das obige Beispiel entsprechend erweitert.
Neu daran ist jetzt eine zweite Frage. Diese muss per manueller Eingabe beantwortet werden.
Außerdem kann man jetzt das Quiz abbrechen oder eine Frage überspringen.

Java:
import javax.swing.*;
 
public class Example {
   public static void main(String[] args) {
     Object[] possibleValues = { "Antwort wählen", "Zwei", "Eins", "Vier" };
     Object selectedValue = null;
     do {
       selectedValue = JOptionPane.showInputDialog(null,
       "Wie viele Augen hat ein Zyklop?", "Frage 1",
       JOptionPane.QUESTION_MESSAGE, null,
       possibleValues, possibleValues[0]);
         
       if(selectedValue == null) { //Abbrechen wurde geklickt
         if(cancelOptions()) {
           break;
         }	    
       }
     }
     while(!selectedValue.equals(possibleValues[2])); //richtige Antwort festlegen
      
     String inputValue = null;
     do {
       inputValue = JOptionPane.showInputDialog(null, 
       "In welcher Stadt steht der Eiffelturm?", "Frage 2", 
       JOptionPane.QUESTION_MESSAGE);
       
       if(inputValue == null) { //Abbrechen wurde geklickt
         if(cancelOptions()) {
           break;
         }	    
       } 
     }
     while(!inputValue.equalsIgnoreCase("Paris")); //richtige Antwort festlegen      
   }
   
   private static boolean cancelOptions() {
     Object[] options = {"Überspringen", "Beenden"};
     
     int option = JOptionPane.showOptionDialog(null, 
     "Möchten Sie die Frage überspringen, oder das Quiz beenden?", 
     "Quiz - Optionen", 
     JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, 
     null, //Icon
     options, options[0]);
     
     if(option == JOptionPane.NO_OPTION) {
       System.exit(0);
     }
     
     return true;
  }
}

Ich denke mal, dass du dir hier alles nötige heraus ziehen kannst.
 

Ähnliche Java Themen

Neue Themen


Oben