Compiler-Fehler undefinierter Konstruktor

starsailor17

Mitglied
Hallo zusammen,

ich bin ein ziemlicher JAVA-Neuling und habe Probleme mit einem Konstruktoraufruf aus einer Unterklasse. Die Aufgabe besteht darin, einen Währungsumrechner zu schreiben (Eingabe z.b. in DM, umrechnen via EUR in andere Währungen). Einige Klassen, Methoden und Konstruktoren sind aus der Aufgabenstellung vorgegeben und müssen genau so eingebaut werden.

Klasse Währung:
Java:
abstract class Waehrung {

	double wert;	
	static double kursdm = 1.95583;
	static double kurslire = 1936.27;
	static double kursfranc = 6.55957;
	static double kurseuro = 1;
	public abstract double euroBetrag();
	
	}

Klasse Euro: (ist aus der Aufgabenstellung vorgegeben und darf nicht angepasst werden)

Java:
public class Euro extends Waehrung {
		private double wert;  
		public Euro(double wert) {
			this.wert = wert;
		}
	
	public double euroBetrag() {
		return wert;
	}
}

Klasse DM: (der Konstruktor ist vorgegeben, Kursumrechnung muss nicht zwingend hier sein)
Java:
public class DM extends Euro {    
	public DM ( Euro euro) {  		
		super(euro.euroBetrag()/kursdm);  
  }
}

Main Methode:
Java:
public class währungskalkulator {
	public static void main(String[] args) {		
		System.out.println ("Bitte einen DM-Betrag eingeben:");
		double dmBetrag =  einlesen(); 							
		Euro euro =  new DM(dmBetrag );

Hier ( new DM(dmBetrag )) meldet der Compiler dann "The constructor DM(double) is undefined".

Kann mir jemand sagen wo genau der Fehler liegt?

Danke!
 

pl4gu33

Top Contributor
Wie dir die Fehlermeldung schon sagt, hast du kein Konstruktor für DM, der einen double- Wert annimmt. Du hast nur für Euros einen der double nimmt;)

oder wolltest du das so machen ?
Java:
Euro eu = new Euro(2.2);
DM dm = new DM(eu);
 
Zuletzt bearbeitet:

starsailor17

Mitglied
ja genau so passts, vielen Dank!

Ich hätte da noch eine weitere Frage..

Die Variable "wert" ist ja nun für jedes Objekt "private" und eigentlich nur über ein getter zugänglich. Um in der Main Methode den Wert eines Objekts für Berechnungen nutzen zu können müsse man die Methode euroBetrag() aus der Klasse Euro benutzen. Der Compiler motzt dass die Methode static sein müsse. Die Methode darf aber sicherlich nicht static sein, sonst wird der Konstruktoraufruf dann nicht funktionieren. Gibts da eine Möglichkeit?
 

starsailor17

Mitglied
ja das habe ich auch so eingebaut:

Java:
public double waehrungsBetrag(double faktor) {			
		double betrag = Euro.euroBetrag();		
		betrag = betrag * faktor;
		return betrag;

der Faktor entspricht dem jeweiligen Wechselkurs aus der Klasse Waehrung der beim Aufruf mitgegeben wird.
 

pl4gu33

Top Contributor
ja das habe ich auch so eingebaut:

Java:
public double waehrungsBetrag(double faktor) {			
		double betrag = Euro.euroBetrag();		
		betrag = betrag * faktor;
		return betrag;

der Faktor entspricht dem jeweiligen Wechselkurs aus der Klasse Waehrung der beim Aufruf mitgegeben wird.

Wo genau ist die Methode "waehrungsBetrag drin? ... Du rufst ja atm Euro.euroBetrag() auf. Das ist ein Static- Auftruf. Du musst schon auf dem Objekt das Aufrufen. Wenn die Methode in der Euro- Klasse ist willst du dort wahrscheinlich ein "this" haben. Also this.euroBetrag().
 

starsailor17

Mitglied
sorry ich war unpräzise.

ich will ja nur aus der Euro-Klasse die Methode aufrufen.
Wenn ich das mit einem get (und static) mache dann gehts, nur darf man das gem. Aufgabe nicht.

Euro-Klasse:
Java:
public class Euro extends Waehrung {
		private double wert;
		public Euro(double wert) {
			this.wert = wert;
		}
	
	public double euroBetrag() {
		return wert;
	}
}

weisst du was ich meine?
 

pl4gu33

Top Contributor
also wenn ich das richtig verstehe willst du in der Methode "waehrungsBetrag" die Methode euroBetrag aufrufen. Wie oben schon gefragt, in welcher Klasse ist denn die Methode "waehrungsBetrag" ?
 
Zuletzt bearbeitet:

starsailor17

Mitglied
ja genau.

Die Methode "waehrungsBetrag" ist in der "Ausführklasse", dort wo auch die MainMethode ist. Das war der Vorschlag des Tutors dies so zu strukturieren...?!
 

pl4gu33

Top Contributor
okay... dann sollte die Methode ja auch nen Euro übergeben bekommen, wie Truckle schon gesagt hast. Ansonsten wird es schwierig und sinnlos auf die Methode zuzugreifen.

Java:
public double waehrungsBetrag(double faktor,Euro euro) {          
        double betrag = euro.euroBetrag();      
        betrag = betrag * faktor;
        return betrag;

und wahrscheinlich sollte die Methode waehrungsBetrag dann auch static sein oder greifst du da mit einem Objekt der Klasse "währungskalkulator" drauf zu ?
 

starsailor17

Mitglied
hey vielen Dank euch beiden, hat super geklappt so.
Eigentlich ganz logisch wenn man es sich nun anschaut, aber ich glaub da waren zuviele Bäume um den Wald zu sehen..

Besten Dank!!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Null-Pointer trotz Konstruktor? Java Basics - Anfänger-Themen 9
M Konstruktor-Aufruf im Konstruktor, aber nicht am Anfang? Java Basics - Anfänger-Themen 4
T Schlüsselworte Schlüsselwort this im Konstruktor Java Basics - Anfänger-Themen 3
frager2345 Warum muss ich hier im Konstruktor meine Exeption nicht abfangen ? Java Basics - Anfänger-Themen 4
J Konstruktor Java Basics - Anfänger-Themen 18
frager2345 Java Singleton Muster -> Methode für Konstruktor mit Parametern Java Basics - Anfänger-Themen 3
G Welche Attribute kommen in den Konstruktor? Java Basics - Anfänger-Themen 5
M wird der Konstruktor nicht als 1. ausgeführt? Java Basics - Anfänger-Themen 13
G Konstruktor und update Java Basics - Anfänger-Themen 4
K Kopier-Konstruktor Java Basics - Anfänger-Themen 6
S Default Konstruktor Java Basics - Anfänger-Themen 7
M Konstruktor ohne Übergabe eines Wertes Java Basics - Anfänger-Themen 7
M Wie kann ich in einem Konstruktor die Methode eines anderen Interfaces mit den jeweiligen Parametern aufrufen? Java Basics - Anfänger-Themen 8
J Vier gewinnt in Java,Spieler Konstruktor Java Basics - Anfänger-Themen 8
kxrdelis Konstruktor für ein Rechtwinkliges Dreieck Java Basics - Anfänger-Themen 10
Zeppi OOP Bruch kürzen im Konstruktor Java Basics - Anfänger-Themen 2
HorstSchröder Konstruktor mit Initialwert Java Basics - Anfänger-Themen 1
C Konstruktor ab serialisiertem Objekt Java Basics - Anfänger-Themen 4
J Input/Output Konstruktor ergänzen, der zur Datei mit einem Objekt passt Java Basics - Anfänger-Themen 0
InfinityDE Problem mit Datenübergabe an Konstruktor Java Basics - Anfänger-Themen 7
B Konstruktor mit Array als Parameter Java Basics - Anfänger-Themen 3
G Variablen Array Länge über den Konstruktor definieren Java Basics - Anfänger-Themen 4
L Konstruktor für eine Map-Datei/Map-Datei einlesen Java Basics - Anfänger-Themen 5
C Interface und Konstruktor Java Basics - Anfänger-Themen 1
H Generische Konstruktor Java Basics - Anfänger-Themen 12
MiMa Seltsames Verhalten im Konstruktor Java Basics - Anfänger-Themen 6
S Konstruktor passt nicht zum Rest Java Basics - Anfänger-Themen 11
C Unbekannter "Konstruktor"?? Java Basics - Anfänger-Themen 10
W OOP Warenlager mit Array(Konstruktor, Methoden) Java Basics - Anfänger-Themen 39
R Objekt in Konstruktor ist nicht zulässig Java Basics - Anfänger-Themen 5
A Mit einer Methode den Konstruktor aufrufen? Java Basics - Anfänger-Themen 2
B Warum können super() und this() nicht gemeinsam in einem Konstruktor verwendet werden? Java Basics - Anfänger-Themen 7
K Konstruktor für ein Objekt mit Zugriffsmethoden Java Basics - Anfänger-Themen 7
H Unterschied Konstruktor und Klassenname x = new Klassenname; Java Basics - Anfänger-Themen 3
B Klassen Array Parameter im Konstruktor? Java Basics - Anfänger-Themen 4
E Konstruktor mit Methode Java Basics - Anfänger-Themen 7
E ArithmeticException im Konstruktor Java Basics - Anfänger-Themen 4
S Konstruktor, Objekte Java Basics - Anfänger-Themen 4
F Konstruktor richtig implementiert? Frage zu Benutzereingaben... Java Basics - Anfänger-Themen 9
W Typecastin im Konstruktor? Java Basics - Anfänger-Themen 2
A Variablen Variablenwert über Konstruktor ändern Java Basics - Anfänger-Themen 3
F Arrays im Konstruktor Java Basics - Anfänger-Themen 5
C Konstruktor mit und ohne Parameterliste Java Basics - Anfänger-Themen 13
L Instanzvariablen, Veerbung, Konstruktor Java Basics - Anfänger-Themen 32
E Best Practice Konstruktor mit bestehender Intanz der gleichen Klasse aufrufen Java Basics - Anfänger-Themen 4
E Plausibilitätsprüfung in dem Konstruktor mit Ausnahmebehandlung Java Basics - Anfänger-Themen 8
A Aufruf von Konstruktor , obwohl 2 Parameter weggelassen werden Java Basics - Anfänger-Themen 7
A Aufruf von Konstruktor , obwohl 2 Parameter weggelassen werden Java Basics - Anfänger-Themen 0
D Compiler-Fehler Konstruktor von Superklasse übernehmen Java Basics - Anfänger-Themen 1
P Counter im Konstruktor Java Basics - Anfänger-Themen 11
J toString-Methode in Verbindung mit varArgs-Konstruktor Java Basics - Anfänger-Themen 18
I Einträge in den Konstruktor Java Basics - Anfänger-Themen 3
Aprendiendo [JAVA-Syntax] (int... variable) bei einem Konstruktor Java Basics - Anfänger-Themen 8
J Superklassen Konstruktor Verständnisfrage Java Basics - Anfänger-Themen 1
G Int-Array im Konstruktor Parameter Java Basics - Anfänger-Themen 37
T Datentypen Warum mit Konstruktor Objektvariablen initalisieren? Java Basics - Anfänger-Themen 19
A Vererbung bei Klassen mit Objekt der Klasse im Konstruktor Java Basics - Anfänger-Themen 4
P Konstruktor. Java Basics - Anfänger-Themen 4
D Best Practice Objekt automatisch im Konstruktor füllen? Java Basics - Anfänger-Themen 9
D Objekt oder Konstruktor Java Basics - Anfänger-Themen 2
F Java default Konstruktor Java Basics - Anfänger-Themen 1
R Fragen über den Konstruktor Java Basics - Anfänger-Themen 0
T Konstruktor mit Referenzdatentypen Java Basics - Anfänger-Themen 5
H Klassen Konstruktor Parameter als Instanzvariablen zwischen speichern... Java Basics - Anfänger-Themen 11
T setter im Konstruktor einbauen? Java Basics - Anfänger-Themen 8
R ArrayList im Konstruktor. Java Basics - Anfänger-Themen 4
T Konstruktor Probleme Java Basics - Anfänger-Themen 3
J Wie lässt sich der Konstruktor einer Klasse einer Funktion einer Klasse nutzen. Java Basics - Anfänger-Themen 4
S Variable, die im Konstruktor gesetzt wird, wird nicht gefunden vom Compiler. Java Basics - Anfänger-Themen 4
C Generic im Konstruktor Java Basics - Anfänger-Themen 1
F Privater Konstruktor und statische Methoden Java Basics - Anfänger-Themen 4
W Konstruktor von FileInputStream nicht gefunden Java Basics - Anfänger-Themen 18
B Methoden Konstruktor im Konstruktor aufrufen Java Basics - Anfänger-Themen 2
N Aufgabe: Pizza Konstruktor mit mehreren beliebigen Durchmesser/Preiskombinationen Java Basics - Anfänger-Themen 8
K arraygröße durch variablen Konstruktor? Java Basics - Anfänger-Themen 7
K ArrayList in Konstruktor - wie späterer Zugriff Java Basics - Anfänger-Themen 2
G Verwendung von Konstruktor Java Basics - Anfänger-Themen 8
X Übergabeparameter Konstruktor (File) Java Basics - Anfänger-Themen 13
K Wieso muss man finale statische Variablen sofort oder eben im Konstruktor initialisieren? Java Basics - Anfänger-Themen 2
C Konstruktor in Abstrakten Klassen Java Basics - Anfänger-Themen 4
B Konstruktor Problem Java Basics - Anfänger-Themen 8
Joew0815 konstruktor und damit erstellte objekte Java Basics - Anfänger-Themen 1
K Hashtable mit eigenen Konstruktor Java Basics - Anfänger-Themen 2
S Java Fragen Konstruktor & Statische Methoden Java Basics - Anfänger-Themen 4
H Fehler im Konstruktor abfangen Java Basics - Anfänger-Themen 10
J Konstruktor Problem bei Vererbung Java Basics - Anfänger-Themen 1
I Java Eingabe aus einer anderen Klasse in eine andere an Konstruktor übergeben Java Basics - Anfänger-Themen 4
O Konstruktor und Default Konstruktor Java Basics - Anfänger-Themen 7
S Kapselung Objekt bei Übergabe an Konstruktor nicht initalisiert Java Basics - Anfänger-Themen 3
I Vererbung Frage zum Konstruktor Java Basics - Anfänger-Themen 5
Y Konstruktor - Setter/Getter Java Basics - Anfänger-Themen 3
P Konstruktor Java Basics - Anfänger-Themen 4
E Initialisierung von Attributen und Konstruktor Java Basics - Anfänger-Themen 0
H Compiler-Fehler NullPointerException bei .length, Konstruktor fehlerhaft? Java Basics - Anfänger-Themen 3
M Objekt Array an konstruktor übergeben und Initialisieren Java Basics - Anfänger-Themen 1
llabusch Vererbung Super Konstruktor Java Basics - Anfänger-Themen 5
P Erste Schritte WindowBuilder erstellt Konstruktor wie zugreifen Java Basics - Anfänger-Themen 5
M Parameter von Konstruktor, der Superklassen-Konstruktor aufruft Java Basics - Anfänger-Themen 2
V Was soll alles in den Konstruktor? Java Basics - Anfänger-Themen 3
J Objektwerte addieren / Konstruktor Java Basics - Anfänger-Themen 19

Ähnliche Java Themen

Neue Themen


Oben