Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

jaein. Dir wird der Fehler zwar angezeigt aber das Programm verlässt den catch Block danach und geht direkt weiter im code--> Du bekommst keine Möglichkeit dieselbe Zahl nochmals korrekt einzugeben.

Versuchs mal mit ner Schleife die Deinen Tryblock umschließt.

Gibt wohl noch andere Methoden, aber das scheint mir das einfachste :)

Bearbeitet von Bjarki

wie ist es hiermit. klappt auch

	

try 

{

	System.out.println("Geben sie bitte die erste Zahl ein");

	zahl1 = Double.parseDouble(in.readLine());

	} 

        catch (NumberFormatException g) 

        {

	        System.err.println("FEHLER:Bitte geben Sie eine Zahl ein:");

		zahl1 = Double.parseDouble(in.readLine());

}

	

try 

{

	System.out.println("Geben sie bitte die zweite Zahl ein");

	zahl2 = Double.parseDouble(in.readLine());

	} 

        catch (NumberFormatException f) 

        {

		System.err.println("FEHLER:Bitte geben Sie eine Zahl ein:");

		zahl2 = Double.parseDouble(in.readLine());

}

Bearbeitet von musti

und wenn dann im Catch eine falsche Zahl eingegeben wird stehst du wieder am Anfang

Halte dich mal an den Vorschlag von Bjarki

das mim programmieren ist wirklich nicht so einfach und für einen anfäger wie ich erst recht

Bearbeitet von musti

@musti: Es ist einfach, nur muss man eben das Problem erkennen und dann das Problem in einzelne Schritte zerlegen, die man in Befehle eingeben kann.

Du kannst nicht erwarten, dass der Computer für Dich ein Problem löst, wenn Du es ihm nicht beibringen kannst.

Anhand Deines Beispiel:

Der Computer soll Zahlen berechnen, Du musst ihm also sagen, wie er rechnen soll. Woher er die Daten bekommt und was er bei Fehlern machen soll. Typisch ist EVA (Eingabe Verarbeitung Ausgabe), d.h. Daten einlesen + prüfen, Verarbeiten und Ausgeben. Egal wie komplex man heute arbeiten kann, letztendlich ist es immer noch dieses Prinzip.

Es ist immer für den Anfänger das Programm / Problem auf einem Zettel auf zu schreiben. Du könntest ja Deinen Rechner einmal dahin erweitern, dass er mit Brüchen rechnen kann also z.B. 1/2 + 1/4 und dann auch 3/4 ausgibt.

klappt auch

Du begehst den Fehler, nur das zu prüfen, was angesichts des Codes auch funktionieren kann. Genauso zu prüfen sind aber auch die Fälle, die niemals funktionieren können, wie z.B. die Division durch 0, Eingabe von Zahlen, leere Eingabe und und und...

Wie Du aber darauf reagieren möchtest, musst Du selber wissen. Das Programm einfach abstürzen zu lassen, ist natürlich keine gute Idee. Es kann auch einfach mit einer Fehlermeldung beendet werden, oder aber halt solange prüfen bis ein verwertbarer Wert eingegeben wird. Beides ist aber mit ein wenig Grundlagenwissen einfach realisierbar (auch wenn ich spontän nicht wüsste, wie man in Java ein try-catch mit einer while-Schleife paaren könnte und eher zur Rekursion greifen würde).

Kleiner Tipp: denke auch an eine Ausstiegsmöglichkeit für den Nutzer und vermeide Endlosschleifen.

Statt draufloszuklimpern, solltest Du Dir am besten ersteinmal einen PAP auf Papier kritzeln, um zu sehen, was Du von Deinem Programm erwartest; Dir anschließend überlegen, was in Deinem Programm für Fehler auftreten können, die nicht durch den Benutzer hervorgerufen werden und zu guter letzt, eine Art whitelist an Benutzereingaben erstellen, so daß Du nur mit für Dein Programm geeignetem Input arbeitest und alles andere mit einer Fehlermeldung ahndest.

  • 2 Wochen später...

danke leute, das hat sich geklärt.

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.