Fehlerhafter Taschenrechner in javascript?
08.08.2015 11:03 Uhr
Hallo zusammen!
ich habe ein Problem, und zwar habe ich hier einen sehr simplen Taschenrechner gebastelt. Wenn ich jetzt versuche die erste Zahl einzugeben z.B. 7, sagt er mir im alert Bildschirm "7 ist keine Zahl!". Ich verstehe das jedoch nicht, da die Funktion isNaN ja überprüft, ob die Variable zahl1 eine Zahl ist oder nicht! Was habe ich Falsch gemacht?
<script>
zahl1 = window.prompt("Geben sie die erste Zahl an!");
do { //<- ab hier beginnt mein "Problem"
alert( zahl1 + " ist keine Zahl!");
zahl1 = window.prompt("Bitte erste Zahl eingeben");
}while( isNaN(zahl1) ); //<- bis hierhin
document.write( zahl1 + " " );
operator = window.prompt("Geben sie ein Rechenzeichen ein!");
document.write( operator + " " );
zahl2 = window.prompt("Geben sie die zweite Zahl an!");
document.write( zahl2 + " = " );
var ergebnis;
switch( operator ) {
case"+": ergebnis = parseInt(zahl1) + parseInt(zahl2);
break;
case"-": ergebnis = zahl1 - zahl2;
break;
case"*": ergebnis = zahl1 * zahl2;
break;
case"/": ergebnis = zahl1 / zahl2;
break;
}
document.write( ergebnis );
</script>
1 Antwort
#1
28.08.2015 08:57 Uhr
|
Eine do-while-Schleife ist hier falsch, da der Code im do auf jeden Fall ein Mal ausgeführt und erst danach die Bedingung geprüft wird. Du benötigst hier eine while-do-Schleife, wo der Code nur ausgeführt wird sofern die Bedingung zutrifft.
|
Ähnliche Fragen
|