Eingabefehler abfangen und neu eingeben

J

jku_yannic

Hi,

ich versuche gerad einen Taschenrechner zu schreiben der wenn man was falsches eingibt ne exception schmeist und dann aber ne neue eingabe fordert....



public class rechner {
public static void main(String args[]) {
double z1 = 0;
double z2 = 0;
String operator;
boolean error = true;
Scanner eingabe = new Scanner(System.in);

System.out.println("####### RECHNER START #############");

do{

try {
error=false;
z1 = 0;

System.out.print("Zahl 1:\t\t");
z1 = eingabe.nextDouble();

} catch (Exception e) {

error = true;
}


}while (error=true);

System.out.print("Operator:\t");
operator = eingabe.next();

System.out.print("Zahl 2:\t\t");
z2 = eingabe.nextDouble();

System.out.println("________________________________\nRechnung: " + z1
+ " " + operator + " " + z2);
}
}

aber wenn ich zB. "a" eingebe bekomm ich ne endlos schleife die mir immer "zahl1:\t\t" ausgibt...

koennt ihr mir helfen?

grus Yannic
 
probiere mal eine Vergleich statt einer Zuweisung ;)

}while (error==true);
 
Zuletzt bearbeitet:
Hallo,

sowas passiert nicht, wenn man es einfach so macht
Code:
do{
}while(error);

Man muss nicht überprüfen, ob in einer boolean Variable ein true steht. Es reicht, wenn man nur die Variable reinschreibt, da sie ja selbst ein boolean ist.

Gruß

Sascha
 
Zurück