JavaScript HA richtig?
Hallo,
uns wurde folgendes aufgegeben worden:
"Wenn Variable a größer als 2 und kleiner als 11 ist oder Variable b größer oder gleich 6 und kleiner als 14 ist, dann geben Sie „Richtig“ aus, andernfalls geben Sie „Falsch“ aus."
So habe ich meinen Code geschrieben:
const a = prompt("Write a number!")
const b = prompt("Write a number!")
if (a > 2 && a < 11 ) {
alert("Right!")
}
else if (b >= 6 && b < 14) {
alert("Right!")
}
else {
alert("Wrong!")
}
Aber irgendwie ergibt die Aufgabe keinen Sinn? weil wenn ich bei const a z.B. 3 schreibe (Dann sollte ja bei alert "Richtig" rauskommen) und dann bei const b z.B. 15 eingebe ( Sollte ja falsch rauskommen), dann kommt dort aus irgendeinem grund am ende ,,Richtig" raus. Also guckt euch mal bitte den code und die aufg. mal an und dann checkt ihr glaub ich was ich meine...
Dankeschön im Voraus
LG
3 Antworten
Das passt so. Es ist ja ein "oder" der beiden Bedingungen, kein "und".
Ave!
Aber irgendwie ergibt die Aufgabe keinen Sinn? weil wenn ich bei const a z.B. 3 schreibe (Dann sollte ja bei alert "Richtig" rauskommen) und dann beiconst b z.B. 15 eingebe ( Sollte ja falsch rauskommen), dann kommt dort aus irgendeinem grund am ende ,,Richtig" raus. Also guckt euch mal bitte den code und die aufg. mal an und dann checkt ihr glaub ich was ich meine...
Die Aufgabenstellung lautet, dass entweder a oder b erfüllt sein müssen. Dies ist es in deinem Beispiel. A ist erfüllt, da 3 größer als 2 und kleiner als 11 ist. Somit ist der Ausgang von B völlig egal.
Es muss ja nur eins von beiden erfüllt sein.
Nur wenn beides nicht erfüllt ist, wird auch "Wrong" ausgegeben. Sobald entweder a oder b erfüllt sind, wird "Right" ausgegeben.
Geht außerdem auch als Dreizeiler:
const a = prompt("Write a number!")
const b = prompt("Write a number!")
alert((a>2&&a<11)||(b>=6&&b<14)?"Right":"Wrong");
const a = prompt("Write a number!")
const b = prompt("Write a number!")
if (a > 2 && a < 11 ) {
alert("Right!")
else {
alert("Wrong!")
}
else if (b >= 6 && b < 14) {
alert("Right!")
}
else {
alert("Wrong!")
}
}