if-then statement soll nur Zahlen zulassen

Status
Nicht offen für weitere Antworten.
T

TitoTatanka

Gast
Hi,

ich möchte ein Programm schreiben, in dem bei einer Fehleingabe darauf hingewiesen wird das nur Zahlen als Eingabe zulässig sind. Intuitiv hab ich's so gelöst:

Code:
/**Gibt bei Fehleingaben eine Meldung aus und kehrt zum Anfang der Schleife zurück.*/
    private void fehleingabe() throws IOException
    {
    	if (operand1 == boolean)
    	{
    		MeineAusgabe.schreibe("richtige Eingabe");
    	}
    	else MeineAusgabe.schreibe("Fehleingabe");
    }

Ist natürlich falsch. Mit welchem Befehl kan ich im if-then statement bewirken, das Zahleneingaben von Texteingaben unterschieden werden?

LG Tito
 

The_S

Top Contributor
Was ist denn operand1 für ein typ/klasse? Genau genommen versteh ich nicht, was dein Beispielcode mit deinem Problem zu tun haben soll ???:L
 
G

Guest

Gast
operand1 ist ein Attribut, dem der Benutzer zuvor einen Wert zuordnen kann...
 

The_S

Top Contributor
Super, Attribut ... das hilft mir jetzt enorm dir zu helfen :roll: Schonmal in Java die Klasse 'Attribut' gesehen? Ich nämlich nicht!
 

Faruun

Aktives Mitglied
Versteh ich Dich richtig, dass Du eigentlich eine Exception mit eigener Meldung für den Fall werfen willst, wenn in operand1 keine Zahl steht?
 
T

TitoTatanka

Gast
also so sieht die komplette Klasse aus:

Code:
import java.io.IOException;
 
 
 public class Taschenrechner
 {
 	/**Attribut zur Erfassung des 1. Operanden*/
 	private double operand1;
 	/**Attribut zur Erfassung des 2. Operanden*/
 	private double operand2;
 	/**Attribut zur Erfassung  der Operation*/
 	private String operation;
 	/**Attribut welches das Ergebnis liefert.*/
 	private double ergebnis;
 	/**Attribut zum Starten einer neuen Berechnung*/
 	private String neu;	
 
 
 
    public Taschenrechner() throws IOException
    {
 	   /**Methode die die Operanden festlegt*/
 	   legeOperandenFest();
 	   /**Methode die Fehleingaben berücksichtigt*/
 	   //fehleingabe();
 	   /**Methode zur Erfassung der Operation*/
 	   legeOperationFest();
    }
 
    /**Ermöglicht die Eingabe der Operanden*/
    private void legeOperandenFest() throws IOException
    {
       MeineAusgabe.schreibe ("                                 Taschenrechner");
 	   MeineAusgabe.schreibe ("\n\nBitte geben Sie den 1. Operanden ein:            ");
       operand1 = MeineEingabe.erfasseDouble();
 	   MeineAusgabe.schreibe ("Bitte geben Sie den 2. Operanden ein:            ");
 	   operand2 = MeineEingabe.erfasseDouble();
 	   
 	   if (operand2 == 0)
 	   {
 	   	
 	   }
 	   MeineAusgabe.schreibe ("Bitte waehlen Sie die Operation (+ - * / %):     ");
 	   operation = MeineEingabe.erfasseText();
    }
    
    /**Gibt bei Fehleingaben eine Meldung aus und kehrt zum Anfang der Schleife zurück.*/
    /*private void fehleingabe() throws IOException
    {
    	if (operand1 == boolean)
    	{
    		MeineAusgabe.schreibe("richtige Eingabe");
    	}
    	else MeineAusgabe.schreibe("Fehleingabe");
    }*/
    
    /**Ermöglicht die Eingabe der Operation, weist auf Fehleingaben hin*/
    private void legeOperationFest() throws IOException
    {
    	if (operation == "+")
    	{
    		ergebnis = operand1 + operand2;
    	}
    	else if (operation == "*")
    	{
    		ergebnis = operand1 * operand2;
    	}
    	else if (operation == "-")
    	{
    		ergebnis = operand1 - operand2;
    	}
    	else if (operation == "/")
    	{
    		ergebnis = operand1 / operand2;
    	}
    	else if (operation == "%")
    	{
    		ergebnis = operand1 % operand2;
    	}
    	else
    	{
    		MeineAusgabe.schreibe("Sie haben einen unzulässigen Operanden eingegeben. Bitte versuchen Sie es nochmal.");
    		System.exit(0);
    	}
    }
    
 }
 

The_S

Top Contributor
Also

1.) Strings vergleicht man mit equals und nicht mit ==
2.) operand1 wird nie etwas anderes als ein double sein, da es als sochler deklariert wurde
3.) Die Abfrage muss beim Einlesen und anschließenden parsen des Strings geschehen und folglich in der Klasse "MeineEingabe" erfolgen
4.) Die "throws IOException"'s bei fehleingabe und legeOperationFest sind unnötig
 
G

Guest

Gast
achso übrigens gleich noch eine Frage zum if-then-statement...ich beende durch den Befehl "System.exit(0);" das Programm bei einer Fehleingabe...würde aber lieber zum Anfang der schleife springen, dass soll mit der "Continue"-Anweisung funktionieren...wisst ihr wie ich sie anwenden kann??

LG Tito
 
G

Guest

Gast
aaah okay darüber muss ich erstmal nachdenken...vielen Dank @ Hobbit
 

The_S

Top Contributor
Dazu bräuchtest du erstmal eine Schleife :roll: . Ich würde dir empfehlen erstmal ein Einsteiger-Javabuch zu lesen bzw. weiter zu lesen! Dazu findest du in unserer Bücher/Links/Tutorials Sektion viele Angebote.

Dadurch lernst du dann erstmal die Basics, was dir hilft solche Probleme gleich selbst zu lösen (Wissen/Nachschlagen), deine Fragen hier so zu stellen, dass wir sie sofort richtig erfassen und dir somit ohne großes rumraten schneller helfen können und letztendlich auch unsere Antworten zu verstehen und umzusetzen :) !
 
G

Guest

Gast
zu deiner 2. Antwort...es macht Sinn das Operand1 nur vom Typ boolean seien kann, ist schließlich so deklariert...

Das Programm würde also abbrechen, wenn Buchstabenwerte eingegeben werden!? Wie kann ich das verhindern und stattdessen einen Hinweis zur Fehleingabe anzeigen lassen???
 

The_S

Top Contributor
Anonymous hat gesagt.:
zu deiner 2. Antwort...es macht Sinn das Operand1 nur vom Typ boolean seien kann, ist schließlich so deklariert...

Zuersteinmal habe ich geschrieben, dass operand1 nur vom Typ double sein kann und nicht vom Typ boolean. Ein boolean ist ein Wahrheitswert, speichert also true oder false. Ein double ist eine Gleitkommazahl, speichert also Zahlen mit Komma.

Anonymous hat gesagt.:
Das Programm würde also abbrechen, wenn Buchstabenwerte eingegeben werden!?

Das kommt ganz darauf an wie das die Klasse 'MeineEingabe' handhabt. Im Idealfall wirft 'MeineEingabe' eine IOException, die du dann in einem try-catch-Block auffangen und entsprechend reagieren kannst.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Compiler-Fehler Not a statement Error Java Basics - Anfänger-Themen 7
J Rekursive Funktion und return statement Java Basics - Anfänger-Themen 3
A switch statement Java Basics - Anfänger-Themen 4
javapingu Variablenwerte ändern ohne return Statement? Java Basics - Anfänger-Themen 7
A Compiler Fehler - not a statement Java Basics - Anfänger-Themen 2
C java.sql Statement kann nicht geschlossen werden Java Basics - Anfänger-Themen 9
freudianslip if-Statement mit mehreren Zahlenwerten Java Basics - Anfänger-Themen 4
B Methoden if-statement error, FX, Fehlermeldung Java Basics - Anfänger-Themen 6
J Missing Return Statement Java Basics - Anfänger-Themen 11
J if or statement? Java Basics - Anfänger-Themen 2
P if - Statement erkennt variable nicht. Java Basics - Anfänger-Themen 12
T Not a Statement/Illegal Start of expression bei for Anweisung Java Basics - Anfänger-Themen 6
L Variable in If-Statement initialisieren Java Basics - Anfänger-Themen 4
B Problem bei switch statement Java Basics - Anfänger-Themen 4
M Return statement Java Basics - Anfänger-Themen 4
C Warum funktioniert mein If Statement nicht richtig? Java Basics - Anfänger-Themen 18
H Compiler-Fehler error not a statement Java Basics - Anfänger-Themen 2
K Input/Output If-Statement wird übersprugen Java Basics - Anfänger-Themen 5
W Return statement in Methode nur bei if-clause Java Basics - Anfänger-Themen 3
C Return statement Java Basics - Anfänger-Themen 10
T Boolean Missing return Statement?! Java Basics - Anfänger-Themen 2
B Not a statement error Java Basics - Anfänger-Themen 2
P fibonacci - do while Statement Logik Fehler Java Basics - Anfänger-Themen 5
T Problem im If-Else-Statement Java Basics - Anfänger-Themen 4
SexyPenny90 Why "Empty Statement"?!? Java Basics - Anfänger-Themen 2
O IF-Statement wird nicht ausgeführt Java Basics - Anfänger-Themen 7
P Compiler-Fehler Boolean: Missing Return Statement Java Basics - Anfänger-Themen 4
M SQL Statement Problem Java Basics - Anfänger-Themen 22
I Methoden Missing return statement; Intervallschachtellung Java Basics - Anfänger-Themen 12
I Problem mit H2-DB Insert-Statement Java Basics - Anfänger-Themen 3
A Assert statement Java Basics - Anfänger-Themen 3
M missing return statement?! Java Basics - Anfänger-Themen 4
J Prepared Statement Out of BondsException Java Basics - Anfänger-Themen 4
P Compiler-Fehler unreachable statement Java Basics - Anfänger-Themen 4
A Missing return-Statement Java Basics - Anfänger-Themen 9
T missing return statement Java Basics - Anfänger-Themen 36
P OOP unreachable statement - Fehler? Java Basics - Anfänger-Themen 3
E missing return statement Java Basics - Anfänger-Themen 6
H not a statement meldungen Java Basics - Anfänger-Themen 12
B Error:not a statement FEHLER bei * Java Basics - Anfänger-Themen 3
F import Statement für Klassen die dem default Package zugeordnet sind? Java Basics - Anfänger-Themen 2
B Not a Statement Problem Java Basics - Anfänger-Themen 8
S Not a Statement? Java Basics - Anfänger-Themen 10
C missing return statement Java Basics - Anfänger-Themen 5
K SQL Statement formatieren + Swingzeug auslagern Java Basics - Anfänger-Themen 18
dognose missing Return Statement Java Basics - Anfänger-Themen 4
H Funktion erkennt das return-statement nicht Java Basics - Anfänger-Themen 12
G [Hibernate] Aus SQL-Statement Entities erzeugen Java Basics - Anfänger-Themen 2
M Callable Statement mit Variablen Java Basics - Anfänger-Themen 8
A SQL Create Table Statement Java Basics - Anfänger-Themen 19
G Missing return Statement Java Basics - Anfänger-Themen 2
S prepared statement delete Java Basics - Anfänger-Themen 5
J Statement an MySQL Datenbank schicken Java Basics - Anfänger-Themen 4
L INSERT Statement geht nicht HILFE! Java Basics - Anfänger-Themen 2
I call to super must be first statement in constructor Java Basics - Anfänger-Themen 3
L IF Bedingung in SELECT Statement? Java Basics - Anfänger-Themen 3
R "missing return statement"? Java Basics - Anfänger-Themen 2
S prepared statement Java Basics - Anfänger-Themen 10
G SQL Statement Java Basics - Anfänger-Themen 4
J Variable Werte in einem SQL Statement? Java Basics - Anfänger-Themen 8
G Inhalt Textfield in SQL Statement klappt nicht. Java Basics - Anfänger-Themen 2
F Missung Return Statement Java Basics - Anfänger-Themen 10
G Button und SQL-Statement ausführen Java Basics - Anfänger-Themen 6
H Variable zuweisung in einem If-Statement Java Basics - Anfänger-Themen 3
J return- Statement Java Basics - Anfänger-Themen 3
G missing return statement Java Basics - Anfänger-Themen 5
S Problem mit if-Statement Java Basics - Anfänger-Themen 5
G Array und switch-Statement Java Basics - Anfänger-Themen 4
R kurzes if-then-else statement Java Basics - Anfänger-Themen 8
M missing return statement Java Basics - Anfänger-Themen 4
Ü Methode soll Quadrat aus der Summer zurückgeben Java Basics - Anfänger-Themen 10
DrahtEck Schleife soll wieder da anfangen wo ich es möchte ! Java Basics - Anfänger-Themen 17
T Methode soll etwas ausrechnen und zurückgeben (klappt nd) hat wer eine Idee? Java Basics - Anfänger-Themen 11
Com.Roter Wie soll ich lernen? Java Basics - Anfänger-Themen 17
T code so schreiben das er von sich selber anpasst (code soll die anzahl aller bustaben bestimmen) Java Basics - Anfänger-Themen 16
T float soll durch schleife die größte mögliche Zahl herausfinden, Ausgabe ist aber "Infinity" Java Basics - Anfänger-Themen 1
I aus 2 random zahlen soll nur die ungerade summe der beiden genommen werden. Java Basics - Anfänger-Themen 13
H Erste Schritte Nach einer Zahl n soll n Mal der String untereinander ausgegeben werden Java Basics - Anfänger-Themen 3
berserkerdq2 Warum soll ich shuffle nutzen, um bei Rückgabewert Collection eine Liste zurückzugeben? Java Basics - Anfänger-Themen 3
berserkerdq2 Wann soll ich den Stream schließen, wenn ich das in einer Methode habe? Java Basics - Anfänger-Themen 8
A String split funktioniert nicht, wenn mehr als 1 Ziffer vor dem Zeichen steht nach dem er trennen soll? Java Basics - Anfänger-Themen 4
M Bei nach oben scrollen soll Seite aktualisiert werden (Userscript mit Javascript) Java Basics - Anfänger-Themen 10
R App soll selbstständig reagieren, anstatt via Models Java Basics - Anfänger-Themen 0
A Wenn eine Zahl durch 7 teilbar ist, soll statt der Zahl ein ‘*‘ angezeigt werden. java? Java Basics - Anfänger-Themen 47
C Ein Algorithmus soll schneller werden Java Basics - Anfänger-Themen 24
K Ein Objekt Auto kennt den Inhalt seines links und rechtsstehenden Autos, wie soll man das ermöglichen Java Basics - Anfänger-Themen 2
HeiTim Brauche Hilfe soll ein nummeriertes Feld ausgeben lassen Java Basics - Anfänger-Themen 17
O Ich habe einen String und soll mit matches schauen, ob ein Buchstabe zu einer geraden ANzahl im String vorkommt, wie soll das gehen? Java Basics - Anfänger-Themen 7
O Ich ahbe einen char und diesen soll ich bei .matches prüfen, also ob der char in meiner Zeichenkette vorhanden ist, wie mache ich das? Java Basics - Anfänger-Themen 9
B Java Programm soll mit Python kommunizeren Java Basics - Anfänger-Themen 1
J Kreis soll die gleiche Fläche wie das Rechteck haben wie mache ich das? Java Basics - Anfänger-Themen 3
MichelNeedhelp Brauche zu diesem Labyrinth ein Skript? Der Hamster soll im Urzeigersinn das ganze Labyrinth abgehen und wieder an seinem Ursprungsplatz sein. Java Basics - Anfänger-Themen 40
J Problem mit einer Methode die gewissen Inhalt einer Array löschen soll Java Basics - Anfänger-Themen 9
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
F Java Programm, das kleine Buchstaben in einem String zählen soll und bei großen Buchstaben oder Sonderzeichen abbrechen soll. Java Basics - Anfänger-Themen 5
kazzam94 Methode soll Array von Boolean zurückgeben Java Basics - Anfänger-Themen 5
S Scanner soll Groß-/ Kleinschreibung ignorieren Java Basics - Anfänger-Themen 2
E Division von BigInteger soll Gelitkommazahl liefern Java Basics - Anfänger-Themen 46
M Unterklasse soll nicht alle Methoden erben Java Basics - Anfänger-Themen 3
E Methode soll andere Methode der selben Klasse aufrufen Java Basics - Anfänger-Themen 28

Ähnliche Java Themen

Neue Themen


Oben