D
Delta458
Gast
Ich komme bei dem Bsp einfach nicht weiter:
Das Problem:
Wenn beim Lesen des Rechenoperator ro eine Zahl eingegeben wird statt einem +,-,*,/ KOMMT trotzdem eine richtige Antwort.
Mein Ziel: Wenn zB kein Rechenoperator kommt wie zB '+' DANN soll er "FALSCHE EINGABE" ausgeben. Wie soll ich das machen???
Das Problem:
Wenn beim Lesen des Rechenoperator ro eine Zahl eingegeben wird statt einem +,-,*,/ KOMMT trotzdem eine richtige Antwort.
Mein Ziel: Wenn zB kein Rechenoperator kommt wie zB '+' DANN soll er "FALSCHE EINGABE" ausgeben. Wie soll ich das machen???
Code:
import java.util.Scanner;
public class Calculator2 {
public static void main (String [] args) {
int a = 0;
int b = 0;
int c = 0;
char ro = '0';
boolean ok = true;
Scanner einlesen = new Scanner (System.in);
if (einlesen.hasNextInt()) { // Wenn das eingelesene Objekt eine Zahl ist dann wahr!
a = einlesen.nextInt();
if(einlesen.hasNextInt()){
b = einlesen.nextInt();
} else {
ok = false; }
} else {
ok = false;
}
if(einlesen.hasNext()) { // Hier besteht das PROBLEM!
ro = einlesen.next().charAt(0);
ok = false; // Operator einlesen + Überprüfung
} else ok = true;
if (ok) {
if (ro == '+')
c = a + b;
else if (ro == '-')
c = a - b;
else if (ro == '*')
c = a * b;
else if (ro == '/')
c = a / b;
System.out.println("Die Antwort lautet: " + c + "!");
}
else
System.out.println("Falsche EINGABE");
}
}