Variable nimmt nicht den gewollten Wert an

Mustard444

Mitglied
Hallo,

ich hab ein (wahrscheinlich typisches) Anfängerproblem.

Folgendes: Ich habe mir in meiner Klasse eine Variable deklariert, z.B.
private int fragenzaehler = 0;

Jetzt hab ich verschiedene Methoden, z.B.
Java:
public void methode1() {
   System.out.println("Hallo");
   methode2();
}

public void methode2() {
   fragenzaehler++;
}

Ist jetzt nur ein beispielhafter Ablauf. Aber das Problem ist, dass der Wert von der Variable fragenzaehler immernoch 0 danach ist. Obwohl ich ihn in meiner Methode "methode2()" ja eigentlich auf 1 gesetzt habe... Kann mir da jemand helfen?
 
Zuletzt bearbeitet von einem Moderator:
Ja da stimmt.
Etwas mehr Code wäre hier hilfreich. Von wo wird "methode1" aufgerufen?
Wie kontrollierst du welchen Wert "fragenzaehler" hat?
 
Ich schreib das mal anders hin. Methode1 wird in einer anderen Klasse in der main Methode aufgerufen, also z.B. objekt1.methode1();

Java:
public void methode1 () {
if (1 == 2) {
fragenzaehler = 1;
}
else if (2==2) {
fragenzaehler =2;
}
}

So, jetzt hab ich eine 2. Methode. Diese wird nach dem 1. Methodenaufruf in der main Methode aufgerufen.
also objekt1.methode1();
objekt2.methode2();

Java:
public void methode2() {
if (fragenzaehler == 2) {
Syso("Hallo");
methode3();
}
}

Da ich fragenzaehler ja auf 2 gesetzt habe, ist die if Bedingung true und die Methode3 wird aufgerufen. Diese wird aber nicht explizit in der main Methode aufgeführt.

Java:
public void methode3() {
Syso(fragenzaehler);
}

Wenn ich mir jetzt in der 3. Methode die Variable fragenzaehler ausgeben lasse, kommt der Wert 0 heraus. Obwohl er ja eigentlich 2 sein müsste..
 
Zuletzt bearbeitet von einem Moderator:
Und objekt1 ist eine andere Instanz als objekt2. Und du fragst ja sozusagen den Wert der Variablen der Instanz objekt2 ab, der ist natürlich 0!
 

Neue Themen


Zurück
Oben