Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
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?
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
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??
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 !
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???
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.