In Java cmd Befehle ausgeben?

2 Antworten

do while + try catch Abfrage in Java zur Eingabenkontrolle erzeugt unendlichen Loop

Also ich will in Java eine Methode schreiben die die Eingabe kontrolliert und dann bei korrekter Eingabe den eingegeben Wert zurückgibt. Mein Quellcode sieht so aus

public static int liesInt(String Ausgabe)
{       
    Scanner eingabe = new Scanner (System.in);
    int eingegeben = 0;
    System.out.println(Ausgabe);
    boolean error = true;
    
    do
    {
        try
        {
            eingegeben = eingabe.nextInt();
            error = false;
        }
        catch(InputMismatchException e)
        {
            System.out.println("Bitte geben Sie nur ganze Zahlen ein!");
            error = true;
        }   
    } while (error == true);
            
    return eingegeben;
}

mein problem ist dass er nach dem der catch greift und den error wert auf true gesetzt ist er nicht wieder zum try springt und nicht erneut nach einer eingabe fragt...

wo ist mein fehler eigentlich müsste er nach dem catch wieder oben anfangen beim try aber das passiert nicht

...zur Frage

Wie funktionieren exceptions in java?

wenn man es mit try und catch schreibt, hab ich gelernt dass man catch(Exception e) schreibt und danach e.printStackTrace ... Aber warum schreibt man nicht Exception e = new Exception(); ??? Und was macht die Methode printStackTrace in der Klasse Exception?

...zur Frage

Android APP stürzt ab wenn ich etwas in einer Datei lese und dann speichere?

Hallo, ich habe eine meiner ersten Apps mit Java programmiert. Das Problem ist, dass die App abstürzt, wenn ich erst lese was in einer Datei steht und anschliessend die Datei überschreibe.

Code: if(gewonnenodernicht){

                int ausgabe;
                StringBuffer dateiInhalt = new StringBuffer("");
                try {
                    FileInputStream in = openFileInput("score.txt");

                    while( (ausgabe = in.read()) != -1)
                        dateiInhalt.append((char)ausgabe);

                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }

                dateiaddieren = Integer.parseInt(dateiInhalt.toString());
                dateiueberschreiben = dateiaddieren + gesAugenzahl;

                String dateiname = "score.txt";
                String score = Integer.toString(dateiueberschreiben);
                FileOutputStream outputStream;


                try {
                    outputStream = openFileOutput(dateiname, Context.MODE_PRIVATE);
                    outputStream.write(score.getBytes());
                    outputStream.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }

            }
            Intent Home = new Intent(getApplicationContext(), MainActivity.class);
            startActivity(Home);
        }

Kann mir jemand sagen was der Grund ist und wie ich den Fehler beheben kann? Es funktioniert eigentlich wenn ich es mit AndroidSTudio auf dem Handy laufen lasse. Aber nachdem ich eine .apk erstellt habe nicht mehr.

...zur Frage

Java - Exception werfen?

Hallo,

muss man wenn man eine Exception wirft immer : throw new KeinBspEXECEPTION(); hinschreiben also mit diesem exception am ende oder geht aus throw new KeinBsp();

...zur Frage

Was möchtest Du wissen?