Felder leer - überprüfen?

Mathepro

Mitglied
Moin,
ich beschäftige mich nun schon ein Weilchen mit Java und probiere gerade ein kleines Programm (GUI), wobei ich den "Satz des Pythagoras" verwirklichen möchte (zur Übung).
Zunächst prüfe ich, ob alle Felder leer sind.
Das mache ich, vermutlich unelegant, indem ich mir den Text aus dem Feld hole und die Länge überprüfe. Wenn sie in allen Feldern = 0 ist, dann gibt er eine Fehlermeldung aus.
Andernfalls soll er weiterarbeiten...
Das Problem dabei ist: 1 Feld muss immer frei bleiben, ansonsten würden sich ja keine Berechnungen lohnen!
Aber sobald nicht alle 3 Felder einen Inhalt haben, gibt er einen Haufen voller Fehlermeldungen á la "at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)" aus!

Habt ihr eine Idee, wie ich das richtigh hinkriegen kann?
Ich habe das schon auf mehrere Weisen probiert, blieb aber jedes mal unerfolgreich!

Ich hoffe, ihr könnt mir helfen und entschuldige mich für meine vielleicht dumme Frage!

LG
Sascha
 
Evtl. auf den zweiten Blick nicht die eleganteste Lösung ... erstelle eine Wahrheitstabelle und starte die Berechnung nur, wenn du es auch kannst.

a <= 0 && b > 0 && c > 0 -> berechnen
a > 0 && b <= 0 && c > 0 -> berechnen
a > 0 && b > 0 && c <= 0 -> berechnen
andere Fälle ignorieren, da man nicht berechnen muss / kann.
 
Servus,

was haltet dich davon ab, bei mehreren leeren Feldern eine Exception zu werfen, und den User daran zu erinnern, dass zwei Werte zur Berechnung benötigt werden?

Angenommen du hast in deinem Fall 3 Felder.

Feld 1) Ankathete
Feld 2) Gegenkathete
Feld 3) Hypotenuse

Jeder Wert ( jedes Eingabefeld ) hat sozusagen einen boolean, welcher bei keiner Eingabe auf false gesetzt ist. ( default-value ist also false )

Bei einer Eingabe wird der boolean auf true gesetzt, usw. Danach geht es in die Richtung von Ruzmanz, wo du einfach abfrägst, ob 2 Zustände true sind, wenn ja wird die Berechnung durchgeführt, wenn nein wird der User aufgefordert die Eingabe zu korrigieren.

Willst du also Feld 2) ( als Beispiel ) berechnen, hast du, egal welches Feld du berechnest immer 2 Zustände die im Idealfall dann true haben. Falls dies nicht eintritt, Aufforderung zur Korrektur der Eingabe.

Natürlich könntest du das ganze auch noch ausweiten, und auch überprüfen ob sinnvolle Eingaben getätigt worden sind.

Grüße
 

Zurück
Oben