Zum Inhalt springen

Hilfe bei Eclipse Programmierung


musti

Empfohlene Beiträge

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
Link zu diesem Kommentar
Auf anderen Seiten teilen

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
Link zu diesem Kommentar
Auf anderen Seiten teilen

@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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Wochen später...

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...