Erste Schritte boolean wert ändert sich nicht?

xkiba7

Neues Mitglied
Hi,
ich lerne seit einer Woche Java, und muss einen Bankautomaten programmieren.
Dieser soll sich über eine Methode sperren lassen, und danach über eine andere Methode ausgeben, ob er gesperrt ist oder nicht.
Code:
public static boolean kontoSperren() {

    boolean kontoGesperrt=true;

    return true;

    }



  public static boolean sperrstatusAusgeben() {

   

    if (kontoGesperrt==true) {

     

      System.out.println(" Kontozugriff ist gesperrt! ");

      return true;

      } else {

   

    System.out.println(" Kontozugriff ist verfügbar! ");

      return false;

      }







Es ändert sich aber nichts am boolean Wert, wenn ich die Methode "kontoSperren" ausführe. "sperrstatusAusgeben" gibt immer nur "Kontozugriff ist verfügbar" aus, also false.
 
Zuletzt bearbeitet:
Wahrscheinlich sollte deine kontoSperren() Methode so aussehen:
Java:
public static boolean kontoSperren() {
  kontoGesperrt = true;
  return true;
}
 
sperrstatusAusgeben sieht die lokale Variable kontoGesperrt in kontoSperren nicht

Jep. Dürfte eigentlich gar nicht kompilieren, außer es gibt noch eine Variable "kontoGesperrt" die wir nicht gezeigt bekommen haben.

Edit: Um es noch einmal klar zu machen:

Mit boolean kontoGesperrt = true; legst du in der Methode eine neue lokale Variable an, die, vermutlich, genauso heißt, wie ein Feld der Klasse und am Ende der Methode ihre Gültigkeit verliert.

Du musst vermutlich nur das "boolean" weglassen, um auf die richtige Variable zuzugreifen.
 

Zurück
Oben