Frage von asdsads, 62

Kennt sich jemand mit Java Script aus , brauche Hilfe?

Wo liegt der Fehler in diesen CODE? pastebin.com/PUvhJaGW

Antwort
von mall0c, 12

Du kannst doch das Ergebnis nicht schon im Voraus berechnen, ohne zu wissen wie die Zahlen sind, die du miteinander verrechnen willst. Du musst erst den User nach den Zahlen fragen und dann kannst du zahl3 berechnen.

Außerdem speicherst du den return Wert von prompt() nicht, wenn du nach zahl1 und zahl2 fragst.

Woran du auch denken musst ist, dass prompt() einen String zurückliefert und keine Zahl. Bei Division geht das noch gut, da die Strings automatisch in Floats gekastet werden. Bei Addition funktioniert das aber nicht. Du kannst ja selber mal probieren was passiert, wenn man 2 Strings miteinander addiert.

Um einen String in einen Integer (Ganzzahl) zu konvertieren brauchst du parseInt(), für eine Kommazahl parseFloat().

var x;
var zahl1;
var zahl2;
var zahl3;

x = prompt();

if (x == "/") {
alert("welche Zahl moechtest du dividieren?");
zahl1 = parseFloat(prompt());
zahl2 = parseFloat(prompt());
zahl3 = zahl1 / zahl2;
alert(zahl3);
}
Antwort
von TheBassHead, 39

Habe zwar noch nie was mit Javascript gemacht, aber:

1. Die variable y ist unbenutzt = unnötig

2. var zahl3 = zahl1/zahl2; 

Du teilst Zwei Variablen obwohl diese keinen Wert haben, Initialisiere sie erstmal(einen Wert zuweißen)


Kommentar von asdsads ,

prompt sagt das der Benutzer einen Wert zuweist .

Kommentar von TheBassHead ,

Aber du weißt x einen Wert zu, du braucht aber Werte für die Zahl1 und Zahl2

Bei x fragst du nur ab mit welchem Operator gerechnet werden muss

Kommentar von TheBassHead ,

Nochmal ganz genau: Du sagst schon, obwohl Zahl1 und Zahl2 keinen Wert haben das du beide miteinander teilen willst, dies geht aber erst wenn sie einen Wert haben. Du gibst aber erst in der If-Abfrage Zahl1 und Zahl2 einen Wert, erst danach kannst du Zahl1/Zahl2 nehmen.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten