Wenn es hilft habe ich hier den Code.
Wenn man wurzel oder division nicht schreibt dann soll ein Fehler kommen.
Zeile 14
Java:
importjava.util.Scanner;publicclassArithmethischeOperationen{publicstaticvoidmain(String args[]){Scanner s =newScanner(System.in);String methode;int x;int y;int z;System.out.println("Bitte geben sie die Methode wurzel oder division an.");
methode = s.next();if(methode.equals("division")){System.out.println("Geben sie die 2 Zahlen an");try{
x = s.nextInt();
y = s.nextInt();division(x,y);}catch(Exception e){System.out.println("Bitte Zahlen eingeben");}}if(methode.equals("wurzel")){System.out.println("Geben sie die zahl an aus der die wurzel gezogen werden soll.");try{
x = s.nextInt();wurzel(x);}catch(Exception e){System.out.println("Bitte Zahlen eingeben");}}}publicstaticvoiddivision(int x,int y){try{System.out.println(x/y);}catch(Exception e){System.out.println("Man kann nicht durch 0 teilen "+ e.toString());}}publicstaticvoidwurzel(int x){try{System.out.println(Math.sqrt(x));}catch(Exception e){System.out.println("Aus negativen zahlen kann man keine wurzel ziehen "+ e.toString());}}}
Du kannst einfach überprüfen mit "string.equals(another_string)", ob die Eingabe dem Namen gleich ist und falls nicht kannst du deine gewünschte Fehlermeldung ausgeben. Da würde man so keine Exception heraus machen, da das ja nur eine simple Abfrage ist.
try/catch ist kein Befehl sondern ein "Konstrukt".
Du musst zuersteinmal mit der Methode "equals" kontrollieren ob der eingegebene Wert gültig ist oder nicht.
Falls nicht dann kannst du mit
Java:
thrownewException("Exceptiontext");
eine Exception werfen. Die kannst du in einem try/catch um den gewünschten Code herum fangen und vearbeiten.
Kleiner Hinweis: Eine Exception beinhaltet meist eine Meldung und StackTrace mit, diese Informationen sollte immer mit ausgegeben werden da sie sonst verloren sind.
Außerdem ist eine Exception eine schlechte Wahl zur Applikationssteuerung.
Warum so kompliziert. Du hast eine if-Schleife und wenn die Bedingung nicht zutrifft soll die Exception kommen. Benutze doch dann den else-Block. In diesen kannst du dann eine Fehlermeldung ausgeben:
Java:
JOptionPane.showMessageDialog(panel,"Fehlermeldung","Error",JOptionPane.ERROR_MESSAGE);//ODER wie es schon genannt wurde. Du erzeugst eine Exception. Je nachdem, was du schöner findest!thrownewException("Fehlermeldung");
Statt 'Exception' kannst du auch eine andere Ausnahme nehmen wie DivisionByZero bei deiner Division.
Nicht nur eher. Es ist einfach keine Schleife!
Weil jede Zeile eine Anweisung an den Code ist? Reicht das als Erklärung?
Eine Schleife sorgt dafür das eine beliebige Anzahl an Codezeilen/Anweisungen wiederholt werden.
Die if-Anweisung sorgt nur dafür das im Falle von X der Code A ausgeführt wird ansonsten Code B.