Threads Boolean Wert verändert sich nicht

Status
Nicht offen für weitere Antworten.

xaerez

Neues Mitglied
Folgendes Problem: Ich muss für die Schule eine 2D Ampelschaltung Programmieren. Dabei habe ich eine Methode, welche mir den Satus meiner unteren Ampel ausgibt:

Java:
public boolean istRot(){
        if(istRot = true){       //Wenn true, dann Fußgänger Rot, Autos Grün
            System.out.println("Zurückgegeben wurde " + istRot);
            return true;
        }else{
            System.out.println("Zurückgegeben wurde " + istRot);
            return false;
          }
        }

Dies funktioniert auch soweit richtig. ( der boolean istRot wird beim erzeugen der Ampel direkt gesetzt)

In meiner zweiten Klasse brauche ich diesen boolean Wert und möchte ihn mir ausgeben lassen:


Code:
public boolean getStatus(){
        return ampelUnten.istRot();
    }

Diese Methode wird wiederum in meiner anderen Klasse im Zusammenhang mit einer If-Abfrage aufgerufen. Allerdings kommt dort immer, auch nachdem der boolean in der Ursprungsklasse eigentlich geändert wurde, der Wert "true" an. Die If-Abfrage ist Teil einer actionPerformed() Methode, welche dauerhaft im Loop läuft.

Code:
  if(assi.getStatus() == false){
            erzeugeFussgaenger();
        loescheFussgaenger();

Ich bitte um Hilfe....
 
Dies funktioniert auch soweit richtig. ( der boolean istRot wird beim erzeugen der Ampel direkt gesetzt)
Das mag funktionieren, ist aber ziemlich überflüssiger Code 🙂
Java:
System.out.println("Zurückgegeben wurde " + istRot);
return istRot;
hätte es auch getan.

Zum Rest kann man schwer etwas sagen, vermutlich erzeugst Du einfach mehrere Instanzen und greifst dann auf die verkehrte zurück.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben