Variable, die im Konstruktor gesetzt wird, wird nicht gefunden vom Compiler.

Shantox

Mitglied
Hallo 🙂

Ich habe eine kurze Frage:

public String kartenkennung;
public double grundgebuehr;
public float minutenpreis;
public int verbrauchteMinuten = 0;

public Mobilfunkvertrag(String kk, double gg, float mp, int vm) {
kartenkennung = kk;
grundgebuehr = gg;
minutenpreis = mp;
verbrauchteMinuten = vm;
}

public void telefongespraech(float minuten) {
vm = vm + (int) minuten;
}

public float monatlicheAbrechnung() {
float rechnung;
return rechnung = (float) gg + (float) vm * mp;
}

Und zwar wird hier in der Methode telefongespraech meine Variable vm nicht gefunden. Aber diese wird doch in dem Konstruktor gesetzt, oder vertue ich mich da gerade?
 
Da vertust du dich. Die Instanzvariable heisst verbrauchteMinuten !!

Edit: und in der nächsten Methode ist der gleiche Fehler mit anderen Variablen drinnen.
 
Ja, vm ist nur eine Bezeichnung eines "Methodenparamters". Die Variable verbrauchteMinuten ist in der ganzen Klasse bekannt.

Evtl solltest du die Sichtbarkeit deiner Variablen von public auf private ändern.

Edit: Zu langsam. Genauso wie es JStein52 geschrieben hat.
 

Zurück
Oben