Moin Leute
ich hab ein Problem und zwar muss ich in BlueJ ein Programm schreiben, welches eine Ampel simuliert. Nun bin ich bis zu dem Punkt gekommen wo die Ampel in die Rot/Gelb Phase schaltet. Mein Problem ist das wenn ich auf weiter klicke die Ampel nicht in die Grün Phase schaltet, sondern rot leuchtet und Gelb ein und ausgeschaltet wird.
Ich vermute der Fehler liegt bei dem else if (_gelbLeuchtet && _rotLeuchtet). Danke für eure Hilfe.
[CODE lang="java" title="Ampel"]/**
* Schaltet die Ampel in die naechste Phase (gruen -> gelb -> rot -> rot/gelb -> gruen).
*/
public void schalteWeiter()
{
if (_gruenLeuchtet)
{
_gelbLeuchtet = true;
_gruenLeuchtet = false;
}
else if (_gelbLeuchtet)
{
_rotLeuchtet = true;
_gelbLeuchtet = false;
}
else if (_rotLeuchtet)
{
_gelbLeuchtet = true;
}
else if (_gelbLeuchtet && _rotLeuchtet)
{
_gelbLeuchtet = false;
_rotLeuchtet = false;
_gruenLeuchtet = true;
}
}[/CODE]
ich hab ein Problem und zwar muss ich in BlueJ ein Programm schreiben, welches eine Ampel simuliert. Nun bin ich bis zu dem Punkt gekommen wo die Ampel in die Rot/Gelb Phase schaltet. Mein Problem ist das wenn ich auf weiter klicke die Ampel nicht in die Grün Phase schaltet, sondern rot leuchtet und Gelb ein und ausgeschaltet wird.
Ich vermute der Fehler liegt bei dem else if (_gelbLeuchtet && _rotLeuchtet). Danke für eure Hilfe.
[CODE lang="java" title="Ampel"]/**
* Schaltet die Ampel in die naechste Phase (gruen -> gelb -> rot -> rot/gelb -> gruen).
*/
public void schalteWeiter()
{
if (_gruenLeuchtet)
{
_gelbLeuchtet = true;
_gruenLeuchtet = false;
}
else if (_gelbLeuchtet)
{
_rotLeuchtet = true;
_gelbLeuchtet = false;
}
else if (_rotLeuchtet)
{
_gelbLeuchtet = true;
}
else if (_gelbLeuchtet && _rotLeuchtet)
{
_gelbLeuchtet = false;
_rotLeuchtet = false;
_gruenLeuchtet = true;
}
}[/CODE]