Hallo,
ich beschäftige mich seit etwa einer Woche privat mit Java und bin dabei neben den Tutorials einen simple Taschenrechner zu erstellen. Heute habe ich versucht diesen Absturzsicher zu machen. Sodass er "Ungültige Eingabe" ausgibt wenn man anstatt einer Zahl beispielsweise einen Buchstaben eingibt. Das funktioniert auch soweit jedoch erscheint dadurch in dem Switch der den operator untersucht die Fehlermeldung:
-zahl3 can not be resolved
-zahl4 can not be resolved
wo liegt mein Fehler und wie kann ich es hinbekommen das er auf die zahlen "zugreifen" kann denn in den:
System.out.println("Die zweite Zahl lautet:" + zahl3);
System.out.println("Die zweite Zahl lautet:" + zahl4);
gibt er die korrekte zahl aus.
Hier der Code
ich beschäftige mich seit etwa einer Woche privat mit Java und bin dabei neben den Tutorials einen simple Taschenrechner zu erstellen. Heute habe ich versucht diesen Absturzsicher zu machen. Sodass er "Ungültige Eingabe" ausgibt wenn man anstatt einer Zahl beispielsweise einen Buchstaben eingibt. Das funktioniert auch soweit jedoch erscheint dadurch in dem Switch der den operator untersucht die Fehlermeldung:
-zahl3 can not be resolved
-zahl4 can not be resolved
wo liegt mein Fehler und wie kann ich es hinbekommen das er auf die zahlen "zugreifen" kann denn in den:
System.out.println("Die zweite Zahl lautet:" + zahl3);
System.out.println("Die zweite Zahl lautet:" + zahl4);
gibt er die korrekte zahl aus.
Hier der Code
Java:
import java.util.Scanner;
public class Taschenrechnermain {
public static void main(String[] args) {
String zahl1, zahl2; //Zahlen die wir eingeben
String operator; //Art der Rechenoperation(wegen default schon Absturzsicher)
System.out.println("Herzlich wilkommen zum Taschenrechner");
System.out.println("Bitte geben sie ihre erste Zahl ein");
Scanner erstezahl = new Scanner(System.in);
zahl1=erstezahl.nextLine();
try{
Double zahl3 = Double.valueOf(zahl1);
System.out.println("Die erste zahl lautet:" + zahl3);
}
catch(Exception e){
System.out.println("Ungültige Eingabe");
}
System.out.println("Bitte geben sie ihre zweite Zahl ein");
Scanner zweitezahl = new Scanner(System.in);
zahl2=zweitezahl.nextLine();
try{
Double zahl4 = Double.valueOf(zahl2);
System.out.println("Die zweite Zahl lautet:" + zahl4);
}
catch(Exception e)
{
System.out.println("Ungültige Eingabe");
}
System.out.println("Bitte geben sie die Rechenoperation ein");
Scanner dritte = new Scanner(System.in);
operator=dritte.nextLine();
switch(operator)
{
case "+":{
System.out.println(zahl3 + zahl4);
break;
}
case "-":{
System.out.println(zahl3-zahl4);
break;
}
case "*":{
System.out.println(zahl3*zahl4);
break;
}
case "/":{
System.out.println(zahl3+zahl4);
break;
}
default:{
System.out.println("Ungültige Eingabe");
break;
}
}
erstezahl.close();
zweitezahl.close();
dritte.close();
}
}
Zuletzt bearbeitet: