Probleme mit der Do-Schleife

pascalseiler

Neues Mitglied
Hallo Zusammen
Ich habe das folgende Problem:
Das Programm funktioniert in 3 von 4 Fällen, und zwar gibt es die Interfaces schön aus und bei einem falschen Ergebnis (If-Anweisung) kann man den Versuch wiederholen oder das Programm beende. Das sind zwei funktionierende Fälle.
Wenn man ein richtiges Resultat eingibt kommt das Interface "Richtig" und zeigt das eingegebene Resultat an sowie das berechnete Resultat und man kann beenden.
Was nicht funktioniert ist die Do-Schleife, welche wieder an den Anfang springen sollte und somit könnte man von vorne anfangen.
Der Boolean "loop1" wird beim drücken des Buttons "againRight" auf false geändert was die Do-Schleife bestätigt und sie sollte von vorne beginnen, jedoch tut sie das nicht.

Hat jemand eine Ahnung an was das liegen kann?



Code:
import javafx.stage.Stage;
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.layout.*;

public class Menu extends Application{

    public static void main(String[] args) {
        launch (args);
    }

  
    boolean loop1;
        @Override
        public void start(Stage primaryStage) {
          
          
        //Buttons für das Menu
            Button button1 = new Button("Kopfrechnen");
            Button button2 = new Button("Personal");
            Button button3 = new Button("Taschenrechner");
            Button button4 = new Button("Quit");

            GridPane root = new GridPane();
            root.add(button1, 0, 0); root.add(button2, 1, 0);
            root.add(button3, 0, 1); root.add(button4, 1, 1);
          
            Scene scene = new Scene(root);
            primaryStage.setTitle("Menu");
            primaryStage.setScene(scene);
            primaryStage.show();
          
          
        //Button für Kopfrechner starten
            button1.setOnAction(new EventHandler<ActionEvent>() {                  
                public void handle(ActionEvent e) {
                                  
                  
                    //Schleife für unendliche Wiederholungen
                    do {
                        loop1 = true;
                    
                //Getter für Zufallsgenerator                          
                    Functions functions = new Functions();
                    functions.Buttons();
                                      
                    GridPane root1 = new GridPane();              
                    root1.add(functions.getLabel4(), 0, 0);root1.add(functions.getLabel1(), 1, 0);
                    root1.add(functions.getLabel5(), 0, 1);root1.add(functions.getLabel2(), 1, 1);
                    root1.add(functions.getTextField1(), 1, 2);
                    root1.add(functions.getButton5(), 1, 3);
                    root1.add(functions.getLabel3(), 1, 4);
                                      
                    Scene scene1 = new Scene(root1);
                    primaryStage.setTitle("!Let's Do Math!");
                    primaryStage.setScene(scene1);
                    primaryStage.show();
                  
                //Resultat prüfen mit Button
                    functions.getButton5().setOnAction(new EventHandler<ActionEvent>() {                              
                        public void handle(ActionEvent e) {
                            int result1 = Integer.parseInt(functions.getTextField1().getText());
                            Label myResult = new Label(Integer.toString(result1));
                          
                        //Code für falsches Resultat
                            if (result1 != functions.getResult0()) {
                          
                            GridPane root4 = new GridPane();              
                                root4.add(functions.getWrong1(), 0, 0);
                                root4.add(functions.getWrong2(), 0, 1);root4.add(myResult, 1, 1);
                                root4.add(functions.getWrongAgain(), 0, 2); root4.add(functions.getWrongEnd(), 1, 2);
                          
                            Scene scene2 = new Scene(root4);
                                primaryStage.setTitle("Oh das war Falsch!");
                                primaryStage.setScene(scene2);
                                primaryStage.show();
                          
                        //Zur wiederholung bei einem falschen Resultat
                            functions.getWrongAgain().setOnAction(new EventHandler<ActionEvent>() {
                                public void handle(ActionEvent e) {
                                  
                                    primaryStage.setTitle("!Let's Do Math!");
                                    primaryStage.setScene(scene1);
                                    primaryStage.show();                                      
                                    }
                                });
                          
                        //Beendenbutton weiter zur Endcard
                            functions.getWrongEnd().setOnAction(new EventHandler<ActionEvent>() {
                                public void handle(ActionEvent e) {
                                  
                                    BorderPane root3 = new BorderPane();                          
                                        root3.setCenter(functions.getEndcard1());
                                        Scene scene3 = new Scene(root3, 360, 400);
                                        primaryStage.setTitle("Goodbye");
                                        primaryStage.setScene(scene3);
                                        primaryStage.show();                                                                              
                                        }
                                    });
                                                                                      
                        //Ende der IF-Anweisung
                            }
                      
                        //Code für richtiges Resultat
                            else {
                              
                                Label screen2 = new Label(Integer.toString(functions.getResult0()));
                                Label screen3 = new Label(Integer.toString(result1));                          
                                          
                                GridPane root2 = new GridPane();
                                    root2.add(functions.getRight1(), 0, 0);
                                    root2.add(screen2, 0, 1);
                                    root2.add(functions.getRight2(), 0, 2); root2.add(screen3, 1, 2);
                                    root2.add(functions.getRightAgain(), 0, 3); root2.add(functions.getWrongEnd(), 1, 3);
                                          
                                Scene scene2 = new Scene(root2);
                                    primaryStage.setTitle("!Richtig!");
                                    primaryStage.setScene(scene2);
                                    primaryStage.show();
                              
                                //Beendenbutton weiter zur Endcard
                                functions.getWrongEnd().setOnAction(new EventHandler<ActionEvent>() {
                                    public void handle(ActionEvent e) {                                  
                                                                          
                                        BorderPane root3 = new BorderPane();                          
                                            root3.setCenter(functions.getEndcard1());
                                            Scene scene3 = new Scene(root3, 360, 400);
                                            primaryStage.setTitle("Goodbye");
                                            primaryStage.setScene(scene3);
                                            primaryStage.show();                                                                              
                                        }
                                        });
                              
                            //Wiederholungsbutton
                                functions.getRightAgain().setOnAction(new EventHandler<ActionEvent>() {                                                                      
                                    public void handle(ActionEvent e) {
                                      
                                    //Schlaufe ist wieder aktiviert jedoch startet die Schlaufe nicht neu: Wieso keine Ahnung
                                        loop1 = false;

                                                                                  
                                    }
                                });
                              
                        //Ende der Else-Anweisung  
                            }
                          
                    //Ende von Button Resultatchecken  
                        }              
                    });
              
        //Ende von Do-Schleife                      
            }    while (loop1 == false);
                                  
    //Ende von Button Kopfrechnen  
        }              
    });
                  
    //Ende der Main Methode
    }
      
//Ende der Klasse
}
 

redJava99

Bekanntes Mitglied
Deine Schleife ist schon beendet, bevor du den Button überhaupt klicken kannst.
Du setzt nur ein paar EventHandler, dann ist die Schleife durch. Wenn die Schleife funktionieren würde, setzt du sie sogar mehrfach...
 

pascalseiler

Neues Mitglied
Danke für deine schnelle Antwort, das erklärt so einiges.
Wie würdest du das lösen, das wenn der "againRight Button gedrückt wird, dass es wieder von vorne beginnt?

Danke schon mal im voraus.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Probleme beim printen von Arrays durch for Schleife Java Basics - Anfänger-Themen 3
W Verständnis Probleme bei der while-Schleife und continue Java Basics - Anfänger-Themen 21
B Methoden Probleme mit for Schleife und return Java Basics - Anfänger-Themen 5
A Probleme mit While Schleife Java Basics - Anfänger-Themen 10
J For-Schleife bereitet Probleme Java Basics - Anfänger-Themen 2
C Probleme in der While-Schleife? Java Basics - Anfänger-Themen 3
J Probleme bei for-Schleife Java Basics - Anfänger-Themen 2
J Variablen Probleme mit for-Schleife Java Basics - Anfänger-Themen 6
J Probleme bei for-Schleife (anfängerprogramm) Java Basics - Anfänger-Themen 4
M OOP for Schleife macht mir Probleme mit Arrays Java Basics - Anfänger-Themen 7
S Probleme mit If - Schleife Java Basics - Anfänger-Themen 6
D Probleme bei einer for Schleife Java Basics - Anfänger-Themen 20
F Probleme mit Schleife, Threads und Fensteraktualisierung Java Basics - Anfänger-Themen 2
M Probleme mit einem "Verwaltungsprogramm" (Schleife Java Basics - Anfänger-Themen 6
S Probleme mit einer for-Schleife Java Basics - Anfänger-Themen 3
R Probleme mit for und while schleife Java Basics - Anfänger-Themen 16
M Probleme mit Tastaureingabe und while-Schleife Java Basics - Anfänger-Themen 3
C Probleme mit while-Schleife Java Basics - Anfänger-Themen 9
B Probleme bei ResultSet in einer While-Schleife Java Basics - Anfänger-Themen 2
W Probleme mit Rechenformeln und Schleife Java Basics - Anfänger-Themen 5
M probleme mit while-schleife Java Basics - Anfänger-Themen 11
D Probleme bei Verwendung short und int im Constuctor Java Basics - Anfänger-Themen 6
D Rekursions Probleme / frage Java Basics - Anfänger-Themen 4
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
C Probleme mit Byte konvertieren nach int Java Basics - Anfänger-Themen 10
P Probleme mit NetBeans: Wie lässt sich jar. Datei an einem MacBook öffnen Java Basics - Anfänger-Themen 21
I Projekte in IDE untereinander sharen / Probleme beim Build Java Basics - Anfänger-Themen 8
MiMa Probleme mit Datentyp long ?? Java Basics - Anfänger-Themen 2
T Probleme beim Import eines Git-Repos Java Basics - Anfänger-Themen 2
Jxhnny.lpz TicTacToe Spiel vs Computer. (Probleme) Java Basics - Anfänger-Themen 7
B Quiz mit RMI Probleme mit RMI start Java Basics - Anfänger-Themen 4
httprt Probleme bei dem erstellen von leveln in meinem Spiel Java Basics - Anfänger-Themen 2
berserkerdq2 Habe eine Klasse, welche public ist, diese hat eine public Methode, die nicht static ist. Wenn ich nun versuche aufzurufen Probleme? Java Basics - Anfänger-Themen 8
V Probleme Guessing Game Java Basics - Anfänger-Themen 8
hebein PDF Ausdruck auf Drucker - Probleme mit Format Java Basics - Anfänger-Themen 17
R JMenu/JMenuItem Probleme Java Basics - Anfänger-Themen 2
B Static vs non static und Probleme daraus Java Basics - Anfänger-Themen 13
J Probleme mit dem Debugger Java Basics - Anfänger-Themen 4
I Probleme mit OutputStream - Datei lässt sich nicht öffnen Java Basics - Anfänger-Themen 4
J Probleme mit Kompilierung Java Basics - Anfänger-Themen 11
B Probleme mit Zugriff auf Dateisystem Windows 10 ( jFileChooser) Java Basics - Anfänger-Themen 17
W Objekte über Scanner Input; ToString Probleme... Java Basics - Anfänger-Themen 4
C Probleme mit paintComponent Java Basics - Anfänger-Themen 13
P Probleme mit JUnit-Tests, es kommt was anderes raus als bei manuellen Tests Java Basics - Anfänger-Themen 5
E JavaFX Editor Probleme mit der Zwischenablage Java Basics - Anfänger-Themen 12
C Probleme mit dem Erstellen und Importieren von Packages Java Basics - Anfänger-Themen 6
3 OOP erste Versuche, OOP zu verstehen. Probleme mit gettern und settern Java Basics - Anfänger-Themen 4
R Erste Schritte Probleme bei 2D Spielfeld, mit einzufügender "Person" Java Basics - Anfänger-Themen 5
P Probleme bei der Installation von JavaFX Java Basics - Anfänger-Themen 3
S Mehrere Probleme im Code Java Basics - Anfänger-Themen 7
D Probleme mit JFrame und der Größe Java Basics - Anfänger-Themen 8
Dimax String Probleme Java Basics - Anfänger-Themen 12
Splayfer Java Array Probleme Java Basics - Anfänger-Themen 3
J Probleme bei IllegalArgumentException "werfen". Java Basics - Anfänger-Themen 1
K Probleme bei der Ausgabe - komme nicht weiter :/ Java Basics - Anfänger-Themen 15
X Probleme im Umgang mit PriorityQueue Java Basics - Anfänger-Themen 75
D Probleme mit dem Windowbuilder und JComboBox Java Basics - Anfänger-Themen 2
M Regex Probleme (mal wieder) Java Basics - Anfänger-Themen 3
tom.j85 TicTacToe - probleme beim Casten Java Basics - Anfänger-Themen 6
J Probleme mit Vererbung Java Basics - Anfänger-Themen 4
X Probleme mit Übungsaufgaben zu Zahlentypen Java Basics - Anfänger-Themen 4
G Probleme bei Aufgabe Java Basics - Anfänger-Themen 12
P Erste Schritte Probleme mit dem Programmieren Java Basics - Anfänger-Themen 12
B Probleme bei einer Aufgabe Java Basics - Anfänger-Themen 19
Franzi1001 Probleme mit Eclipse Java Basics - Anfänger-Themen 7
T Probleme bei Installation von JDK Java Basics - Anfänger-Themen 2
C Probleme mit String-Vergleich Java Basics - Anfänger-Themen 4
C Probleme bei Regex Java Basics - Anfänger-Themen 9
V Probleme mit Arrays Java Basics - Anfänger-Themen 8
D Kleine Probleme mit Split-Befehlen Java Basics - Anfänger-Themen 5
T Probleme mit Strings Java Basics - Anfänger-Themen 6
G Probleme bei Frame aufgaben Java Basics - Anfänger-Themen 6
N Probleme mit dem ActionListener Java Basics - Anfänger-Themen 4
D Probleme beim Kompelieren mache ich etwas falsch ? Java Basics - Anfänger-Themen 3
L Probleme mit Java Java Basics - Anfänger-Themen 3
S Probleme mit abspielen einer .wav Datei Java Basics - Anfänger-Themen 2
J Probleme bei der Umwandlung einer Farbe von Hex zu RGB Java Basics - Anfänger-Themen 8
K Probleme beim Programm schreiben - Lesen von Dateiinhalten -zaehlen von Wörtern/ Buchstaben Java Basics - Anfänger-Themen 4
M Probleme beim aktualisieren eines JPanels Java Basics - Anfänger-Themen 7
J Probleme beim Array ausgeben Java Basics - Anfänger-Themen 4
M Probleme bei rekursiver Zuordnung Java Basics - Anfänger-Themen 1
I Probleme mit 2 dimensionale Arrays Java Basics - Anfänger-Themen 3
H Best Practice View probleme Java Basics - Anfänger-Themen 2
B Probleme mit Kreisberechnung Java Basics - Anfänger-Themen 15
E Probleme mit Scanner Java Basics - Anfänger-Themen 4
J Eclipse Export Probleme Java Basics - Anfänger-Themen 25
M Probleme beim verwenden von Packages Java Basics - Anfänger-Themen 6
D Probleme mit der Übergabe einer BorderPane Java Basics - Anfänger-Themen 2
J Interface Probleme bei der Implementierung Java Basics - Anfänger-Themen 1
BlueFox Tabelle in der Konsole ausgeben - Probleme Java Basics - Anfänger-Themen 1
G Methoden Probleme beim Methodenaufruf Java Basics - Anfänger-Themen 2
V Klassen ObjectInputStream ->ReadObject Probleme Java Basics - Anfänger-Themen 5
F Erste Schritte Compiling Probleme Java Basics - Anfänger-Themen 13
S Neuling und Probleme bei Schulaufgabe Java Basics - Anfänger-Themen 5
J Anfänger: ActionListener und ProcessBuilder machen Probleme Java Basics - Anfänger-Themen 6
S Erste Schritte 2D Grafik Probleme mit KeyListener. Java Basics - Anfänger-Themen 18
M Array mit eigenem Datentyp probleme beim übergeben Java Basics - Anfänger-Themen 6
M Probleme mit Eclipse Java Basics - Anfänger-Themen 20
G Probleme beim casten von double zu int Java Basics - Anfänger-Themen 3
E 2 Probleme - Datum & private finale Variablen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben