Dialogbox sofort neustarten, falls aktuelle Eingabe falsch

maxmuster987

Aktives Mitglied
Ich habe bereits fast vollständig den Code zur Aufgabenstellung verfasst, allerdings fehlt mir hier eine Feinheit:

Zeile: 20, 33, 34
Tun nicht das, was ich eigentlich möchte.
Wenn ich eine falsche Eingabe tätige, dann soll die Dialogbox wieder öffnen. Ich will das gerne mit diesem boolean ende lösen, falls das geht.

Bsp.:
Eingabe:

Winkel: 45
Abwurfgeschwindigkeit: 45AW
-> OK, Box schließen

Winkel: 45A
->Falsch, da nur Zahlwert erlaubt -> Box erneut öffnen, nicht danach noch nach der Abwurfgeschwindigkeit fragen

Winkel: 45
Abwurfgeschwindigkeit: 45
-> Falsch, da AW am Ende fehlt -> Box erneut öffnen von Beginn

Java:
import java.io.*;
import javax.swing.*;
import java.util.*;

public class Uebung {
    public static void main (String[] args) {
       
        String zahlString = "";
        boolean ende = true;
        double tFlug = 0, sxMax = 0, syMax = 0;
        double awGeschw = 0;
        double g=9.81;
        double winkel;
        System.out.println("=========================================================");
        System.out.println("=== Programm zur Berechnung der Flugbahn eines Wurfes ===");
        System.out.println("=========================================================");
       
        String eing = "";
       
        //do {
            eing = JOptionPane.showInputDialog("Geben Sie den Abwurfwinkel in Grad ein:");
            winkel = Double.parseDouble(eing);
           
            eing = JOptionPane.showInputDialog("Geben Sie die Abwurfgeschwindigkeit in Form xxAW ein:");
            if(eing.endsWith("AW")) {
                int limit = eing.length()-2;
                zahlString = eing.substring(0,limit);
            }
            else {
                System.out.println("Falsche Eingabe.");
            }
            awGeschw = Double.parseDouble(zahlString);
        //}
        //while(ende);
       
        tFlug=tFlug(winkel, awGeschw);
        sxMax=sx(winkel, awGeschw, tFlug);
        syMax=sy(winkel, awGeschw, tFlug/2);
       
        System.out.println("Abwurfwinkel: " +winkel +" Grad");
        System.out.println("Abwurfgeschwindigkeit: " +awGeschw +" m/s");
        System.out.println("---------------------------------------------------------");
        System.out.println("Die Flugzeit betraegt: " +tFlug +" s");
        System.out.println("Die Flugweite betraegt: " +sxMax +" m");
        System.out.println("Die max. Flughoehe betraegt: " +syMax +" m");
       
        int zeitschritte = 20;
       
        double zeitFeld[] = new double [zeitschritte];
        double xFeld[] = new double [zeitschritte];
        double yFeld[] = new double [zeitschritte];      
        double flugzeit = 0;
        double deltaT = tFlug/zeitschritte;
       
        for(int i=0; i<zeitschritte; i++) {
            flugzeit = flugzeit+deltaT;
            zeitFeld[i]=flugzeit;
            xFeld[i]=sx(winkel, awGeschw, flugzeit);
            yFeld[i]=sy(winkel, awGeschw, flugzeit);
        }
       
        FileWriter fileW;
        try {
            fileW = new FileWriter("Ergebnis.txt");
            for(int i=0; i<zeitschritte; i++) {
                fileW.write("Wertepaar " +i +":\t Zeit: " +zeitFeld[i] +"\t x = " +xFeld[i] +"\t y = " +yFeld[i] +"\n");            // \n nicht vergessen, sonst keine neue Zeile  
            }
            fileW.close();
            System.out.println("Ergebnis ausgegeben in Ergebnis.txt");
        }          
        catch (IOException e) {
            System.out.println("Ergebnisse erfolgt, Ergebnis in Ergebnis.txt hinterlegt");
        }

        System.exit(0);  
    }
   
    //Ab hier drunter Methoden:
    public static double tFlug(double winkel, double awGeschw) {                  
        final double g = 9.81;
        return ((2*Math.sin(Math.toRadians(winkel))*awGeschw)/g);                                              
    }
   
    public static double sy(double winkel, double awGeschw, double tFlug) {                  
        final double g = 9.81;
        return (awGeschw*Math.sin(Math.toRadians(winkel))*tFlug-((1/2.)*g*Math.pow(tFlug,2)));                                              
    }
   
    public static double sx(double winkel, double awGeschw, double tFlug) {                  
        final double g = 9.81;
        return (awGeschw*Math.cos(Math.toRadians(winkel))*tFlug);                                                  
    }

}


Nachtrag: Hat jemand eine Ahnung, weshalb bei der Ergebnisausgabe das Wertepaar 16 komplett außerhalb der Zeile liegt? Ist das nur ein Anzeigefehler meines Editors (obwohl ich verschiedene verwendet habe gerade) oder ist das auf irgendwas zurückzuführen? Weil eigentlich wird doch in der Zeile nichts anders gemacht als in den anderen.
 

Anhänge

  • Ergebnistxt.png
    Ergebnistxt.png
    47,4 KB · Aufrufe: 5
Zuletzt bearbeitet:

KonradN

Super-Moderator
Mitarbeiter
Das Problem ist dabei, dass das Parsen von Werten bei fehlerhaften Eingaben scheitert. Es wird dann eine Exception geworfen und das beendet dann dein Programm. Du müsstest also die NumberFormatException fangen. Dies geht mit try / catch:

Java:
            eing = JOptionPane.showInputDialog("Geben Sie den Abwurfwinkel in Grad ein:");
            try {
                winkel = Double.parseDouble(eing);
            } catch (NumberFormatException e) {
                // Kein Zahl angegeben - Flag setzen, Ausgabe machen, was auch immer!
            }

Dies dann auch entsprechend bei dem anderen parse Aufruf.
 

KonradN

Super-Moderator
Mitarbeiter
Und das mit dem neu Starten - das kannst Du ja direkt mit einer Methode probieren ... die Methode gibt ein double Wert zurück ... Und Du kannst den Text der Dialogbox als Parameter übergeben. Da kannst Du dann eine Schleife um den Code herum bauen, die nur verlassen wird, wenn ein Double geparst werden konnte.
 

maxmuster987

Aktives Mitglied
die Methode gibt ein double Wert zurück ... Und Du kannst den Text der Dialogbox als Parameter übergeben. Da kannst Du dann eine Schleife um den Code herum bauen, die nur verlassen wird, wenn ein Double geparst werden konnte.
Bisher konnte ich dir immer gut folgen, allerdings bei dem Beitrag steige ich dann komplett aus 🤯

Ich konnte etwas mit boolean ende = true zaubern, was "etwas" funktioniert, aber noch nicht optimal.

Java:
import java.io.*;
import javax.swing.*;
import java.util.*;

public class Uebung {
    public static void main (String[] args) {
       
        String zahlString = "";
        boolean ende = true;
        double tFlug = 0, sxMax = 0, syMax = 0;
        double awGeschw = 0;
        double g=9.81;
        double winkel=0;
        System.out.println("=========================================================");
        System.out.println("=== Programm zur Berechnung der Flugbahn eines Wurfes ===");
        System.out.println("=========================================================");
       
        String eing = "";
       
        while(ende) {
            eing = JOptionPane.showInputDialog("Geben Sie den Abwurfwinkel in Grad ein:");
            try {
                winkel = Double.parseDouble(eing);
                ende=false;
            }
            catch(NumberFormatException e) {
                System.out.println("Winkel wurde nicht korrekt eingegeben.");
                ende=true;
            }
           
            eing = JOptionPane.showInputDialog("Geben Sie die Abwurfgeschwindigkeit in Form xxAW ein:");

            if(eing.endsWith("AW")) {
                int limit = eing.length()-2;
                zahlString = eing.substring(0,limit);
            }
            try {
                awGeschw = Double.parseDouble(zahlString);
                ende=false;
            }
            catch(NumberFormatException e) {
                System.out.println("Abwurfgeschwindigkeit nicht in Form xxxxAW eingegeben.");  
                ende=true;
            }
        }

       
        tFlug=tFlug(winkel, awGeschw);
        sxMax=sx(winkel, awGeschw, tFlug);
        syMax=sy(winkel, awGeschw, tFlug/2);
       
        System.out.println("Abwurfwinkel: " +winkel +" Grad");
        System.out.println("Abwurfgeschwindigkeit: " +awGeschw +" m/s");
        System.out.println("---------------------------------------------------------");
        System.out.println("Die Flugzeit betraegt: " +tFlug +" s");
        System.out.println("Die Flugweite betraegt: " +sxMax +" m");
        System.out.println("Die max. Flughoehe betraegt: " +syMax +" m");
       
        int zeitschritte = 20;
       
        double zeitFeld[] = new double [zeitschritte];
        double xFeld[] = new double [zeitschritte];
        double yFeld[] = new double [zeitschritte];      
        double flugzeit = 0;
        double deltaT = tFlug/zeitschritte;
       
        for(int i=0; i<zeitschritte; i++) {
            flugzeit = flugzeit+deltaT;
            zeitFeld[i]=flugzeit;
            xFeld[i]=sx(winkel, awGeschw, flugzeit);
            yFeld[i]=sy(winkel, awGeschw, flugzeit);
        }
       
        FileWriter fileW;
        try {
            fileW = new FileWriter("Ergebnis.txt");
            for(int i=0; i<zeitschritte; i++) {
                fileW.write("Wertepaar " +i +":\t Zeit: " +zeitFeld[i] +"\t x = " +xFeld[i] +"\t\t y = " +yFeld[i] +"\n");            // \n nicht vergessen, sonst keine neue Zeile  
            }
            fileW.close();
            System.out.println("Ergebnis ausgegeben in Ergebnis.txt");
        }          
        catch (IOException e) {
            System.out.println("Ergebnisse erfolgt, Ergebnis in Ergebnis.txt hinterlegt");
        }

        System.exit(0);  
    }
   
    //Ab hier drunter Methoden:
    //Methode
    /*
    public static double neustarten() {
       
        return
    }
    */
   
    public static double tFlug(double winkel, double awGeschw) {                  
        final double g = 9.81;
        return ((2*Math.sin(Math.toRadians(winkel))*awGeschw)/g);                                              
    }
   
    public static double sy(double winkel, double awGeschw, double tFlug) {                  
        final double g = 9.81;
        return (awGeschw*Math.sin(Math.toRadians(winkel))*tFlug-((1/2.)*g*Math.pow(tFlug,2)));                                              
    }
   
    public static double sx(double winkel, double awGeschw, double tFlug) {                  
        final double g = 9.81;
        return (awGeschw*Math.cos(Math.toRadians(winkel))*tFlug);                                                  
    }

}

Aktuell liefert der obige Code folgendes:

Bsp:

Winkel: 45A
-> Ausgabe: Winkel wurde nicht korrekt eingegeben.
Abwurfgeschw. : 45AW
-> Programm läuft und berechnet alles allerdings mit Winkel = 0


Winkel: 45
Abwurfgeschw.: 45
-> Ausgabe: Abwurfgeschw. nicht in Form xxxxAW eingegeben
-> Neustart der Box

Winkel: 45A
-> Ausgabe: Winkel wurde nicht korrekt eingegeben
Abwurfgeschw.: 45
-> Ausgabe: Abwurfgeschw. nicht in Form xxxxAW eingegeben.
-> Neustart der Box

Zusammengefasst:

Sind beide Eingaben falsch -> jeweils eine Fehlermeldung + Neustart
Ist Winkel falsch, aber Geschw. korrekt -> nur Fehlermeldung des Winkels, aber Programm läuft jedoch mit Winkel = 0, trotz Falscheingabe
Ist Winkel korrekt, aber Geschw. falsch -> nur Fehlermeldung der Geschw., aber Neustart


Kann ich das nicht mit diesen boolean Werte irgendwie lösen? Weil die Lösung scheint mir hier irgendwie so nahe zu liegen. 🤔
 

KonradN

Super-Moderator
Mitarbeiter
Also erst einmal kannst Du doch den Code Teil:
Java:
            eing = JOptionPane.showInputDialog("Geben Sie den Abwurfwinkel in Grad ein:");
            try {
                winkel = Double.parseDouble(eing);
                ende=false;
            }
            catch(NumberFormatException e) {
                System.out.println("Winkel wurde nicht korrekt eingegeben.");
                ende=true;
            }

ersetzen. Das ist ja die Eingabe vom Winkel. Also machen wir daraus einfach:
winkel = winkelEingeben();

winkel ist ein double, also muss die Methode winkelEingeben ein double zurück geben. Da wir keine Parameter hatten, erhalten wir also eine Methode wie:
Java:
public static double winkelEingeben() {
    
}

Das müssen wir nun mit Leben füllen - wir wollen da ja eine Eingabe machen können:
Java:
public static double winkelEingeben() {
    String eingabe = JOptionPane.showInputDialog("Geben Sie den Abwurfwinkel in Grad ein:");
    return Double.parseDouble(eingabe);
}

Jetzt haben wir aber immer noch nicht die Behandlung von falschen Eingaben. Dazu brauchen wir das try / catch ... und bei einem Fehler soll es in einer Schleife erneut gemacht werden. Also endlos lange bis eine gültige Zahl eingegeben wurde.

Java:
public static double winkelEingeben() {
    while (true) {
        try {
            String eingabe = JOptionPane.showInputDialog("Geben Sie den Abwurfwinkel in Grad ein:");
            return Double.parseDouble(eingabe);
        } catch (NumberVormatException ex) {
            System.out.println("Winkel wurde nicht korrekt eingegeben.");
        }
    }
}

Erinnere Dich: return beendet die Methode - und damit auch diese Endlosschleife. Zu dem Return kommt er aber nur, wenn das parseDouble keine Exception wirft.

==> Eine Methode, die relativ kurz und übersichtlich ist, oder?
 

maxmuster987

Aktives Mitglied
Ich habe das jetzt mit der Methode auch für Abfrage der Abwurfgeschwindigkeit gemacht bzw. eher versucht. Ich glaube, so langsam macht es Klick. Diese Schritt für Schritt Anleitung war sehr hilfreich, ich danke dir.

Wenn ich das laufen lassen, dann funktioniert das logischerweise mit der Winkeleingabe (solange bis korrekter Wert drin ist).

Danach werde ich nach der Geschwindigkeit gefragt: Wenn ich hier einen korrekten Wert im Sinne von 45AW eingebe, dann werde ich trotzdem erneut nach der Geschwindigkeit abgefragt, anstatt dass das Programm fertigläuft.

Gebe ich hier aber in der Geschwindigkeitsmaske einen falschen Wert ein, so komme ich zurück zur Winkeleingabe (eigentlich will ich ja in der Geschwindigkeitsmaske bleiben, bis der richtige Wert drin ist (der Winkel wurde ja zuvor schon korrekt eingegeben).


Java:
import java.io.*;
import javax.swing.*;
import java.util.*;

public class Uebung {
    public static void main (String[] args) {
        
        String zahlString = "";
        boolean ende = true;
        double tFlug = 0, sxMax = 0, syMax = 0;
        double awGeschw = 0;
        double g=9.81;
        double winkel=0;
        System.out.println("=========================================================");
        System.out.println("=== Programm zur Berechnung der Flugbahn eines Wurfes ===");
        System.out.println("=========================================================");
        
        String eing = "";
        
        while(ende) {
            winkel = winkelEingeben();
            
            awGeschw = awGeschwEingeben();
        }

        
        tFlug=tFlug(winkel, awGeschw);
        sxMax=sx(winkel, awGeschw, tFlug);
        syMax=sy(winkel, awGeschw, tFlug/2);
        
        System.out.println("Abwurfwinkel: " +winkel +" Grad");
        System.out.println("Abwurfgeschwindigkeit: " +awGeschw +" m/s");
        System.out.println("---------------------------------------------------------");
        System.out.println("Die Flugzeit betraegt: " +tFlug +" s");
        System.out.println("Die Flugweite betraegt: " +sxMax +" m");
        System.out.println("Die max. Flughoehe betraegt: " +syMax +" m");
        
        int zeitschritte = 20;
        
        double zeitFeld[] = new double [zeitschritte];
        double xFeld[] = new double [zeitschritte];
        double yFeld[] = new double [zeitschritte];       
        double flugzeit = 0;
        double deltaT = tFlug/zeitschritte;
        
        for(int i=0; i<zeitschritte; i++) {
            flugzeit = flugzeit+deltaT;
            zeitFeld[i]=flugzeit;
            xFeld[i]=sx(winkel, awGeschw, flugzeit);
            yFeld[i]=sy(winkel, awGeschw, flugzeit);
        }
        
        FileWriter fileW;
        try {
            fileW = new FileWriter("Ergebnis.txt");
            for(int i=0; i<zeitschritte; i++) {
                fileW.write("Wertepaar " +i +":\t Zeit: " +zeitFeld[i] +"\t x = " +xFeld[i] +"\t\t y = " +yFeld[i] +"\n");            // \n nicht vergessen, sonst keine neue Zeile   
            }
            fileW.close();
            System.out.println("Ergebnis ausgegeben in Ergebnis.txt");
        }           
        catch (IOException e) {
            System.out.println("Fehler in Dateibehandlung");
        }

        System.exit(0);   
    }
    
    
    
    //Ab hier drunter Methoden:
    //Winkelabfrage, Box öffnet solange bis korrekte Eingabe
    public static double winkelEingeben() {
        while(true) {
            try {
                String eingabe = JOptionPane.showInputDialog("Geben Sie den Abwurfwinkel in Grad ein:");
                return Double.parseDouble(eingabe);
            }
            catch (NumberFormatException ex) {
                System.out.println("Winkel wurde nicht korrekt eingegeben.");
            }
        }
    }
    //Geschwindigkeitsabfrage, Box öffnet solange bis korrekte Eingabe
    public static double awGeschwEingeben() {
        while(true) {
            try {
                String eingabe = JOptionPane.showInputDialog("Geben Sie die Abwurfgeschwindigkeit in Form xxxxAW ein:");
                if(eingabe.endsWith("AW")) {
                    int limit = eingabe.length()-2;
                    String zahlString = eingabe.substring(0,limit);
                }
                else {
                    return Double.parseDouble(eingabe);
                }
            }
            catch(NumberFormatException ex) {
                System.out.println("Abwurfgeschwindigkeit nicht in Form xxxxAW eingegeben.");
            }
        }
    }

    //Berechnung der Flugzeit
    public static double tFlug(double winkel, double awGeschw) {                   
        final double g = 9.81;
        return ((2*Math.sin(Math.toRadians(winkel))*awGeschw)/g);                                               
    }
    //Berechnung der Flughoehe
    public static double sy(double winkel, double awGeschw, double tFlug) {                   
        final double g = 9.81;
        return (awGeschw*Math.sin(Math.toRadians(winkel))*tFlug-((1/2.)*g*Math.pow(tFlug,2)));                                               
    }
    //Berechnung der Flugweite
    public static double sx(double winkel, double awGeschw, double tFlug) {                   
        final double g = 9.81;
        return (awGeschw*Math.cos(Math.toRadians(winkel))*tFlug);                                                   
    }

}
 

KonradN

Super-Moderator
Mitarbeiter
Du hast das ja noch in einer while Schleife. Das ist aber ja jetzt nicht mehr notwendig und die Schleife muss noch weg. Also nur die beiden Aufrufe jeweils mit der Eingabe werden benötigt.
 

maxmuster987

Aktives Mitglied
Ich hab jetzt die while Schleife entfernt und die Methode korrigiert für die Abwurfgeschwindigkeit.

Java:
    //Geschwindigkeitsabfrage, Box öffnet solange bis korrekte Eingabe
    public static double awGeschwEingeben() {
        while(true) {
            try {
                String eingabe = JOptionPane.showInputDialog("Geben Sie die Abwurfgeschwindigkeit in Form xxxxAW ein:");
                if(eingabe.endsWith("AW")) {
                    int limit = eingabe.length()-2;
                    String zahlString1 = eingabe.substring(0,limit);
                    double zahlString2 = Double.parseDouble(zahlString1);
                    return zahlString2;
                }
                else {
                    System.out.println("Abwurfgeschwindigkeit nicht in Form xxxxAW eingegeben.");
                }
            }
            catch(NumberFormatException ex) {
                System.out.println("Abwurfgeschwindigkeit nicht in Form xxxxAW eingegeben.");
            }
        }
    }

Der Code läuft jetzt 1A tiptop!

Nur eine Frage habe ich noch, auch wenn der Code so läuft wie er soll:
Wie du siehst, habe ich in Zeile 13 und 17 jeweils die gleiche Textausgabe, wenn ein falscher Wert eingegeben wird. Es wird aber immer auf die Ausgabe von Zeile 13 zurückgegriffen.
Das weiß ich, weil ich einfach zum Testen 2 verschiedene Texte jeweils in 13 und 17 eingegeben habe und bei Fehleingabe wird dann immer der Text aus Zeile 13 gezogen.

Was macht meine catch Anweisung jetzt in dem Fall? Weil es wird doch eigentlich alles durch das else abgefangen oder nicht?
 

KonradN

Super-Moderator
Mitarbeiter
Gib einfach mal "xyzAW" ein, also erst etwas, das keine Zahl ist und am Ende ein AW.

Reicht dieser Hinweis für das Verständnis? Ggf. mit der Dokumentation der parseDouble Methode?

(Wenn nicht, dann ist das auch nicht schlimm - dann sag einfach Bescheid und ich erläutere es kurz.)
 

maxmuster987

Aktives Mitglied
Ahaaaa, an den Fall habe ich nicht gedacht.

Ich habe mir jetzt die Dokumentation angeschaut.

Es wird ja quasi der "Wert" vor dem AW gewertet in dem Fall.

1) Ist der Wert "xyzAW", dann ist der String xyz, der in einen double geparst werden soll eine NumberFormatException, weil der String xyz keinen parsablen Inhalt enthält, also wird auf den catch{} mit der NumberFormatException zurückgegriffen.

2) Ist der Wert "123", dann ist das zwar ein parsable Inhalt, aber dieser stimmt mit meiner Bedingung, dass am Ende ein AW stehen muss, nicht überein, also wird auf else{} zurückgegriffen.

3) Ist der Wert " AW", also "Leerzeichen AW", dann ist der String leer, also null, somit auch kein parsable Inhalt und es wird auf catch{} mit NumberFormatException zurückgegriffen.

4) Ist der Wert "abc", dann trifft dasselbe wie in 2) zu.

Habe ich das korrekt wiedergegeben?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Dialogbox solange abfragen, bis gültige Wert-Eingabe Java Basics - Anfänger-Themen 12
L Text und Ganzzahl in einer Dialogbox Java Basics - Anfänger-Themen 5
L Dialogbox statt Konsole verwenden Java Basics - Anfänger-Themen 5
M problem mit dialogbox Java Basics - Anfänger-Themen 2
S JList mit icons UND strings für Dialogbox Java Basics - Anfänger-Themen 2
O VersionsProbleme bei DialogBox Java Basics - Anfänger-Themen 5
K Warum wird mir "Empfangen vom Client:" nicht sofort ausgegeben(Server/Client) Java Basics - Anfänger-Themen 3
P Eigenschaft eines imperativen Algo (Pseudocode) sofort erkennen Java Basics - Anfänger-Themen 1
K Wieso muss man finale statische Variablen sofort oder eben im Konstruktor initialisieren? Java Basics - Anfänger-Themen 2
B Konsole schließt sich sofort Java Basics - Anfänger-Themen 8
U Thread reagiert nicht sofort auf Tastendruck Java Basics - Anfänger-Themen 14
T Button wird nicht sofort neu beschriftet... Java Basics - Anfänger-Themen 5
K Kombifeld auswählen, rechnung sofort ausführen Java Basics - Anfänger-Themen 11
K Kombifeld Ereignis auswählen und sofort ausführen lassen Java Basics - Anfänger-Themen 2
G mit Graphics erzeugte Strings verschwinden sofort wieder Java Basics - Anfänger-Themen 7
M Ping Pong - Tastaturanschläge sofort auswerten Java Basics - Anfänger-Themen 4
A große errechnete datenmengen sofort in datei schreiben? Java Basics - Anfänger-Themen 6
Ostkreuz While Schleife neustarten Java Basics - Anfänger-Themen 20
T Erste Schritte Programm neustarten Java Basics - Anfänger-Themen 4
1 Programm schließen und Neustarten Java Basics - Anfänger-Themen 5
J Programm(Spiel) neustarten Java Basics - Anfänger-Themen 8
L Java-Programm neustarten lassen Java Basics - Anfänger-Themen 14
babel GUI neustarten Java Basics - Anfänger-Themen 5
G programm neustarten Java Basics - Anfänger-Themen 2
I Applet neustarten, stopen, fortsetzen Java Basics - Anfänger-Themen 5
V Programm "neustarten" Java Basics - Anfänger-Themen 2
D main()-Menthode neustarten/Programm neustarten Java Basics - Anfänger-Themen 4
V Programm neustarten Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben