Compiler-Fehler Konstruktor - Methode

E

Extremiie

Gast
Hallo zusammen,

Ich habe vor 2 Tagen angefangen mit Java zu programmieren.
Das was ich bis jetzt gelernt habe, wollte ich in mein eigenes kleines Programm einsetzen.

Leider hat das compilen aber nich geklappt, könnt ihr mir sagen, was hier der Fehler sein könnte?


Compiler Fehler:

error: invalid method declaration; return type required
Fruechte(String bananen, String orangen, String erdbeeren, int preis) {



Java:
class Fruechte {
	String m_bananen;
	String m_orangen;
	String m_erdbeeren;
	int m_preis;

Früchte(String bananen, String orangen, String erdbeeren, int preis) {
	m_bananen = bananen;
	m_orangen = orangen;
	m_erdbeeren = erdbeeren;
	m_preis = preis;
	}

void preisErhoehen() {
	m_preis += preisErhoehen;
	}

void datenAusgeben() {
	System.out.println("\n");
	System.out.println("Bananen: " + m_bananen);
	System.out.println("Orangen: " + m_orangen);
	System.out.println("Erdbeeren: " + m_erdbeeren);
	}
}

public class FruechteBeispiel {
public static void main (String[] args) {
	
	// Früchte definieren
	Fruechte bananen = new Fruechte("Bananen",50);
	Fruechte orangen = new Fruechte("Orangen",75);
	Fruechte erdbeeren = new Fruechte ("Erdbeeren",100);
	
	// Preis erhöhen
	orangen.preisErhoehen(10);
	erdbeeren.preisErhoehen(15);
	
	// Daten ausgeben
	bananen.datenAusgeben();
	orangen.datenAusgeben();
	erdbeeren.datenAusgeben();
	}
}

Es wäre auch nett wenn ihr mir Tipps geben würdet wie man den Code zum Beispiel verkleinern könnte, aber bitte langsam und deutlich, bin ein absoluter Anfänger ;-)

Vielen Dank,
Extremiie
 
Zuletzt bearbeitet von einem Moderator:
G

Gast2

Gast
Deine Klasse heißt
Code:
Fruechte
, dein Konstruktor aber
Code:
Früchte
. Die müssen identisch lauten, und da man Umlaute vermeiden sollte wäre
Code:
Fruechte
der richtige Name.
 
S

SlaterB

Gast
> error: invalid method declaration; return type required

sagt dir die Fehlermeldung gar nichts, hast du sie gelesen?
hat für dich im Zusammenhang mit Methoden der Begriff 'return type' irgendeine Bedeutung?
 
C

Camino

Gast
Java:
class Fruechte {
    String m_bananen;
    String m_orangen;
    String m_erdbeeren;
    int m_preis;
 
Früchte(String bananen, String orangen, String erdbeeren, int preis) {
    m_bananen = bananen;
    m_orangen = orangen;
    m_erdbeeren = erdbeeren;
    m_preis = preis;
    }

Du hast eine Klasse "Fruechte" und einen Konstruktor "Früchte". Die beiden Namen sollten gleich geschreiben werden. Am besten auf Umlaute verzichten. Dem Konstruktor kannst du noch ein public voranstellen. Und wenn du dann Objekte von Fruechte erzeugst (mit new Fruechte...), dann müssen die Parameter, welche im Konstruktor angegeben siond, übereinstimmen.
 
N

nillehammer

Gast
Du hast wahrscheinlich einen Konstruktor bauen wollen. Der muss aber genauso heißen wie Deine Klasse. Sonst denkt Java, es sei eine normale Methode und da braucht man einen return-Type (void, wenn sie nichts zurück geben soll).
 

x22

Bekanntes Mitglied
Ich würde abgesehen davon deinen Konstruktor so schreiben:

Java:
Fruechte(String bananen, String orangen, String erdbeeren, int preis) {
    this.bananen= m_bananen;
    this.orangen= m_orangen;
    this.erdbeeren= m_erdbeeren;
    this.preis = m_preis;
    }

Best regards,
 

HimBromBeere

Top Contributor
Des Weiteren rufst du in der Main Konstruktoren auf, die nicht existieren:
Java:
// Früchte definieren
    Fruechte bananen = new Fruechte("Bananen",50);
    Fruechte orangen = new Fruechte("Orangen",75);
    Fruechte erdbeeren = new Fruechte ("Erdbeeren",100);
Du hast aber nur
Java:
Fruechte(String, String, String, int)
in der Klasse definiert. Warum verwendest du nicht einen Konstruktor Fruechte(String frucht, int preis) und definierst eine Instanzvariable frucht oder besser noch eine Liste von Strings mit Namen fruechte...

EDIT: IdR stehen Klassennamen für Einzahlobjekte, in deinem Fall also Frucht, nicht Fruechte.
 
E

Extremiie

Gast
Ich habe zuvor alles mit Früchte gemacht und versucht, dann alles in Fruechte zu ändern, da hab ich leider etwas übersehen.

Vielen Dank für die schnellen Antworten,
Extremiie
 

x22

Bekanntes Mitglied
Würde dir empfehlen, Eclipse o.ä. zu downloaden.

Du übergibst dem Objelt nur Name und Preis, hast aber in deinem Konstruktor 4 Dinge deklariert.

Ein Konstruktor wird aufgerufen, sobald du mit "new" ein neues Objekt erstellst.

Dein Konstruktor und dein Objekt passen jedoch nicht zusammen.

Dann müsste dein Konstruktor so aussehen, wenn nur Name & Preis:

Java:
//pseudo-code
public Frueche(String name, int preis){
this.name= name;
this.preis= preis;
}


EDIT: Abgesehen davon ist deine Methode falsch.
Du kannst etwas nicht so inkrementieren:

Java:
void preisErhoehen() {
    m_preis += preisErhoehen;
    }

preisErhoehen ist bei dir der Methodenname, aber keine Variable.
solltest ne Variable anlegen.
 
E

Extremiie

Gast
Ich bin etwas verwirrt. Was bedeutet .this?

Und wie bringe ich diesen Befehl zum laufen?
Fruechte erdbeeren = new Fruechte ("Erdbeeren",100);

Eigentlich habe ich dieses Beispiel vom Buch verändert:
Mitarbeiter billy = new Mitarbeiter("bla..........

Wie kann man den Mitarbeiter, in Fruechte ändern?

Vielen Dank.
 

HimBromBeere

Top Contributor
Schau nochmal in meinen Beitrag vpn 11:41... da steht genau, was du aufrufst und was deine Klasse Fruechte zur Verfügung stellt. Merkst du den Unterschied?

Java:
Fruechte banene = new Fruechte("Banene", 50);

und

Java:
class Fruechte{
    public Fruechte(String bananen, String orangen, String habichvergessen, int preis) {...}
}
Solltest du evtl. versuchen, optionale Parameter zu verwenden, also solche, die man auch weglassen kann, musst du das in JAVA durch Überladen deinen Konstruktors erledigen. In deinem Bsp. ist das aber vööööllog überzogener Quatsch.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
frager2345 Java Singleton Muster -> Methode für Konstruktor mit Parametern Java Basics - Anfänger-Themen 3
M Wie kann ich in einem Konstruktor die Methode eines anderen Interfaces mit den jeweiligen Parametern aufrufen? Java Basics - Anfänger-Themen 8
A Mit einer Methode den Konstruktor aufrufen? Java Basics - Anfänger-Themen 2
E Konstruktor mit Methode Java Basics - Anfänger-Themen 7
J toString-Methode in Verbindung mit varArgs-Konstruktor Java Basics - Anfänger-Themen 18
N Sprite Methode (Getter, Setter, Konstruktor) Java Basics - Anfänger-Themen 9
O OOP prindata Methode aufrufen!? Methode drucken + Konstruktor Java Basics - Anfänger-Themen 9
L Klassen Aufruf einer ueberschreibbaren Methode im Konstruktor Java Basics - Anfänger-Themen 4
K Methode vererben bei überschriebenem Konstruktor? Java Basics - Anfänger-Themen 14
M konstruktor = methode? Java Basics - Anfänger-Themen 34
N Konstruktor mit filename bzw. methode load(filename) Java Basics - Anfänger-Themen 11
N methode im Konstruktor aufrufen Java Basics - Anfänger-Themen 4
J Konstruktor +methode???? Java Basics - Anfänger-Themen 7
P Parameter aus Konstruktor an Methode/Funktion übergeben Java Basics - Anfänger-Themen 10
M Unterschied main-Methode und Konstruktor Java Basics - Anfänger-Themen 13
M Konstruktor eine statische Methode? Java Basics - Anfänger-Themen 9
P Konstruktor-Aufruf IN der Methode? Java Basics - Anfänger-Themen 2
H Konstruktor in Methode fremder Klasse: try-catch-Problem Java Basics - Anfänger-Themen 4
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
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
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
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 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
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

Ähnliche Java Themen

Neue Themen


Oben