Hier ist zuerst das Beispiel:
Wenn bitte jemand so lieb währe und mir erklären könnte, warum bei Ausführung der Klasse ZaehlerTest der zweite Wert "0" wird. Ich verstehe die Methode eicheZaehler in Zeile 46
nicht wirklich.
Was bedeuten die Parameter (Zaehler zweiterZaehler) und woher kommt "zweiterZähler"?
Ausgegeben wird doch zweiterkmZaehler :autsch:
Code:
/** Programmname: Zaehler
* Fachkonzept-Klasse: Zaehler
* Aufgabe: Verwaltung eines Zaehlers
*/
public class Zaehler
{
//Attribute
private int zaehlerstand = 0;
//Konstruktoren
public Zaehler()
{
}
public Zaehler(int wert)
{
zaehlerstand = wert;
}
//Schreibende Methodenen
public void setzeAufNull()
{
zaehlerstand = 0;
}
public void erhoeheUmEins()
{
zaehlerstand = zaehlerstand +1;
}
public void erhoehe(int delta)
{
zaehlerstand += delta;
}
public void setZaehlerstand(int wert)
{
zaehlerstand = wert;
}
//Lesende Methoden
public int getZaehlerstand()
{
return zaehlerstand;
}
//Sonstige Mehtoden
public void eicheZaehler(Zaehler zweiterZaehler)
{
zweiterZaehler.setZaehlerstand(this.zaehlerstand);
}
public Zaehler erhoeheUmHundert()
{
//Aufruf des eigenen Konstruktors
Zaehler neuerZaehler = new Zaehler(zaehlerstand + 100);
return neuerZaehler;
}
}
Code:
public class ZaehlerTest
{
public static void main(String[] args)
{
Zaehler einkmZaehler; // gebe Klassenobjekt einen Namen
Zaehler zweiterkmZaehler;
Zaehler nocheinkmZaehler;
einkmZaehler = new Zaehler(); //erzeuge Objekt einkmZaehler mit erstem Konstruktor
zweiterkmZaehler = new Zaehler(42); //erzeuge Objekt zweiterkmZaheler mit zweitem Konstruktor und weise 42 zu
zweiterkmZaehler.erhoeheUmEins(); //zaehlerstand +1;
einkmZaehler.eicheZaehler(zweiterkmZaehler);
System.out.println(einkmZaehler.getZaehlerstand());
System.out.println(zweiterkmZaehler.getZaehlerstand());
nocheinkmZaehler = einkmZaehler.erhoeheUmHundert();
System.out.println(nocheinkmZaehler.getZaehlerstand());
nocheinkmZaehler = nocheinkmZaehler.erhoeheUmHundert();
System.out.println(nocheinkmZaehler.getZaehlerstand());
}
}
Wenn bitte jemand so lieb währe und mir erklären könnte, warum bei Ausführung der Klasse ZaehlerTest der zweite Wert "0" wird. Ich verstehe die Methode eicheZaehler in Zeile 46
Code:
public void eicheZaehler(Zaehler zweiterZaehler)
{
zweiterZaehler.setZaehlerstand(this.zaehlerstand);
}
Was bedeuten die Parameter (Zaehler zweiterZaehler) und woher kommt "zweiterZähler"?
Ausgegeben wird doch zweiterkmZaehler :autsch: