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



Datenschutzerklärung · Impressum