Boolean value ohne Kontrollstrukturen ändern

rosita

Mitglied
hi!
ich muss einen konstruktor machen der eine Lampe an- bzw ausschaltet. Mit eine if-else einweisung wäre das halt ganz einfach aber auf der Aufgabe steht explizit, dass wir keine Kontrollstrukuren benutzen dürfen.
mein code sieht so aus (das funktionert nicht weil ich if-else nicht benutzen darf)

public lamps() {
if (lightOn = true) {
lightOn = false;
} else
lightOn = true;
}
 
mein code sieht so aus
Ein kleiner Hinweis am Rande 😉

Anstatt von if (lightOn = true) kannst du auch einfach if (lightOn) schreiben. In der Klammerung des it-Statements muss ein Ausdruck stehen, der einen Wahrheitswert (boolean) als Ergebnis hat, also z.B. 10 < 42. In deinem Fall ist der Typ von "lightOn" bereits ein boolean, es ist also nicht notwendig noch einen Vergleich zu machen, um einen boolean daraus zu machen.
 
Anstatt von if (lightOn = true) kannst du auch einfach if (lightOn) schreiben. In der Klammerung des it-Statements muss ein Ausdruck stehen, der einen Wahrheitswert (boolean) als Ergebnis hat, also z.B. 10 < 42. In deinem Fall ist der Typ von "lightOn" bereits ein boolean, es ist also nicht notwendig noch einen Vergleich zu machen, um einen boolean daraus zu machen.
Ups, wie konnte das passieren!

Achtung, bei if (lightOn = true) handelt es sich um eine Zuweisung!

Was du (und auch ich) wollen ist ein Vergleich if (lightOn == true).
 

Zurück
Oben