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
 

Neue Beiträge

Zurück