Hallo zusammen,
ich versuche mir gerade selbst Java beizubringen, aber seh den Wald vor lauter Bäumen nicht mehr. Aktuell bin ich beim Thema Vererbung.
Aufgabenstellung ist einen Währungsumrechner zu bauen, dabei habe ich eine Superklasse "Euro" und die Subklassen "DM", "Lire" und "Franc" mit den jeweiligen Wechselkursen.
Mein Ziel ist es nun, sämtliche Objekte der Subklassen mit einer Methode zu addieren. Ich habe dafür folgenden Code gewählt und weiß nicht so recht, weshalb meine Testklasse "EuroTest" nicht funktioniert. Es muss mit dem Feld "Geld" zu tun haben, aber ich weiß nicht, wo der Grund dafür liegt bzw. wie ich es abändern muss, dass es funktioniert. Ist sicherlich eine triviale Frage, aber ich wusste nicht, wie ich das googlen sollte bzw. hab nichts dazu gefunden.
Als Fehlermeldung erscheint: "The method summeEuro(Euro[]) is undefined for the type EuroTest"
Hier meine Subklasse DM. "Lire" und "Franc" sind analog mit anderen Wechselkursen.
Testklasse:
Kann mir jemand bitte sagen, warum es nicht funktioniert?
ich versuche mir gerade selbst Java beizubringen, aber seh den Wald vor lauter Bäumen nicht mehr. Aktuell bin ich beim Thema Vererbung.
Aufgabenstellung ist einen Währungsumrechner zu bauen, dabei habe ich eine Superklasse "Euro" und die Subklassen "DM", "Lire" und "Franc" mit den jeweiligen Wechselkursen.
Mein Ziel ist es nun, sämtliche Objekte der Subklassen mit einer Methode zu addieren. Ich habe dafür folgenden Code gewählt und weiß nicht so recht, weshalb meine Testklasse "EuroTest" nicht funktioniert. Es muss mit dem Feld "Geld" zu tun haben, aber ich weiß nicht, wo der Grund dafür liegt bzw. wie ich es abändern muss, dass es funktioniert. Ist sicherlich eine triviale Frage, aber ich wusste nicht, wie ich das googlen sollte bzw. hab nichts dazu gefunden.
Als Fehlermeldung erscheint: "The method summeEuro(Euro[]) is undefined for the type EuroTest"
Code:
package de.grundkurs.java;
public class Euro {
private static double kurs = 1;
private double wert;
public Euro(double wert) {
this.wert = wert;
}
public double euroBetrag() {
return wert*0.5;
}
public double summeEuro(Euro[] geld) {
double summe = 0;
for (int i=0; i<geld.length;i++)
summe +=geld[i].euroBetrag();
return summe;
}
}
Hier meine Subklasse DM. "Lire" und "Franc" sind analog mit anderen Wechselkursen.
Code:
package de.grundkurs.java;
public class DM extends Euro {
private static double kurs = 1.95583;
public DM (double e) { // Wert in DM eintragen
super(e/kurs);
}
}
Testklasse:
Code:
package de.grundkurs.java;
public class EuroTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Euro[] Geld = new Euro[4];
DM dm = new DM(20);
Lire li = new Lire(5);
Franc fr = new Franc(100);
Euro eu = new Euro(10);
Geld[0] = dm;
Geld[1] = li;
Geld[2] = fr;
Geld[3] = eu;
System.out.println(summeEuro(Geld));
}
}
Kann mir jemand bitte sagen, warum es nicht funktioniert?