Hallo!
Bin gerade im 1.Semester:wave:. Hab das Prgoramm für die erste Übungsrunde (hab den Taschenrechner bekommen) gemacht. Es Funktioniert auch alles , bis auf das der Scanner immer darauf wartet das die komplette Eingabe(also Zahl1 Zahl2 Rechenzeichen) gemacht wird.
Es soll aber bei fehlen einer Eingabe(also nur 2 1 statt 2 1 +) die Fehlermeldung "Falsche Eingabe" ausgegeben werden.
Hab schon einiges Versucht und auch im Internet gesucht, hab aber nichts passendes gefunden.:wein:
Hoffe es hat jemand eine Lösung dafür.
Hier mal mein Programm:
//Zum Testen zuerst Zahl1 dann Abstand dann Zahl2, Abstand und am Ende das Rechenzeichen eingeben!!!
import java.util.Scanner;
public class Calculator {
public static void main(String[]args){
int Zahl1;
int Zahl2;
char Zeichen; //Rechenzeichen
int Ergebnis=0;
boolean bol; //Wird dieser False wird dieFehlermeldung "FALSCHE EINGABE" ausgegeben.
Zahl1=0;
Zahl2=0;
bol=true; //ein false bei dieser Variable führt zu Fehlermeldung
Scanner reader=new Scanner(System.in);
if(reader.hasNextInt()) {
bol=true;
Zahl1=reader.nextInt();
}else{
bol=false;
}
if(reader.hasNextInt()) {
bol=true;
Zahl2=reader.nextInt();
}else{
bol=false;
}
Zeichen=reader.next().charAt(0); Hier muss wohl angesetzt werden um das Problem zu beheben!
if((Zeichen=='+')||(Zeichen=='-')||(Zeichen=='*')||(Zeichen=='/')) {
}else{ bol=false;
}
if(Zeichen=='+'){
Ergebnis=Zahl1+Zahl2;
}
if(Zeichen=='-'){
Ergebnis=Zahl1-Zahl2;
}
if(Zeichen=='*'){
Ergebnis=Zahl1*Zahl2;
}
if(Zeichen=='/'){
if((Zahl2>0)||(Zahl2<0)){
Ergebnis=Zahl1/Zahl2;
}else{
bol=false;
}
}
if(bol==true){
System.out.println(Ergebnis);
}else{ System.out.println("FALSCHE EINGABE");
}
}
}
Mfg Michael