Objekte in Array erstellen und Methode in verschiedenen klassen aufrufen

Underfaker

Bekanntes Mitglied
Hallo nochmal (sorry schon das dritte Mal),

ich muss Stück für Stück Java-Dateien / Klassen schreiben die etwas bestimmtes beinhalten, das hat wunderbar funktioniert (das Problem kommt erst ganz unten).

1.
- Klasse Angestellter erstellen
- Attribute: double stdProMonat und double geldProStunde
- Methode public double berechneMonatseinkommen() berechnet das Einkommen eines Angestellten
- zwei Konstruktoren besitzten
public Angestellter( double arbeitstdProMonat,
double gehaltProStunde )

public Angestellter()

Java:
class Angestellter

{

	double stdProMonat;
	double geldProStunde;
	double bonusProMonat;

	public double berechneMonatseinkommen(double stdProMonat, double geldProStunde, double bonus)

	{

	double monatseinkommen = stdProMonat*geldProStunde+bonus;

	return monatseinkommen;

	}

	public Angestellter(double arbeitstdProMonat, double gehaltProStunde)

	{

	this(arbeitstdProMonat, gehaltProStunde, 0.0);

	}

	public Angestellter(double arbeitstdProMonat, double gehaltProStunde, double bonus)

	{

	this.stdProMonat = arbeitstdProMonat;

	this.geldProStunde = gehaltProStunde;

	this.bonusProMonat = bonus;

	}

}

2. Klasse Professor mit Konstruktoren etc. erstellen:

Java:
class Professor extends Angestellter

{

	public Professor (double gehaltProStunde)

	{

	super(160, gehaltProStunde, 0);

	}

}

3. Analoge Klasse Mitarbeiter:

Java:
class Mitarbeiter extends Angestellter

{

	public Mitarbeiter(double arbeitstdProMonat, double gehaltProStunde)

	{

	super(arbeitstdProMonat, gehaltProStunde, 500);

	}

}

Und dann als 4. sollte die (Main) Klasse Uni erstellt werden , 3 Elemente sollten so erzeugt werden:
personal[0]=new Angestellter(22,11.5);
personal[1]=new Professor(121.40);
personal[2]=new Mitarbeiter(40, 15);

Außerdem sollte das Einkommen der drei ANgestellten als Summe ausgegeben werden (mit einer for-Schleife)

Java:
class Uni

{

	public static void main (String args[])

	{
		Object[] personal = new Object[2];

		personal[0]=new Angestellter(22,11.5);

		personal[1]=new Professor(121.40);

		personal[2]=new Mitarbeiter(40, 15);

		double Summe = 0;

		for (int i=0; i <= 2; i++)

		{

			Summe += berechneMonatseinkommen(personal[i]);

		}

		System.out.println("Die Summe betraegt: "+Summe);

	}

}

Zum ersten:
Java:
Object[] personal = new Object[2];
Ist das so ok? Ich wusste nicht wie ich ein Array deklariere, dass die Vorgaben der Aufgabe umsetzen kann, also habe ich das rausgesucht.

Zum Zweiten:

Java:
Summe += berechneMonatseinkommen(personal[i]);

Hier gibt es offenbar einen Fehler, wie kann ich die Funktion richtig aufrufen?
Bzw. anders (sicher zutreffender) wo habe ich hier grundlegend Fehler gemacht, weshalb das so nicht klappt.
Bspw. hat es mich verwirrt, dass ich in ANgestellter zweimal einen Konstruktor mit selben Namen erstellen sollte...

Die Fehlermeldung (wer sie sehen will):

Uni.java:22: cannot find symbol
symbol : method berechneMonatseinkommen(java.lang.Object)
location: class Uni
Summe += berechneMonatseinkommen(personal);
^
Uni.java:22: inconvertible types
found : <nulltype>
required: double
Summe += berechneMonatseinkommen(personal);


Danke schonmal für eure Hilfe :)
 

HimBromBeere

Top Contributor
Die Methode
Code:
berechneMonatseinkommen
ist in der Klasse
Code:
Uni
überhaupt nicht vorhanden, sondern nur in
Code:
Angestellter
. Folglich wirst du, um sie aufrufen zu können, auch eine Instanz von
Code:
Angestellter
erstellen müssen (nicht
Code:
Object
, wer hat dir den Quatsch erzählt??) und auf diesem die gewünschte Funktion aufrufen:

Java:
Angestellter a = new Mitarbeiter(...);
// .. tue etwas mit a
a.berechneMonatsEinkommen(...);

Deine Methode erwarten übrigens drei Double-Werte, nicht einen Angestellten. Also gib ihr auch drei Double-Werte...

[EDIT]Die drei Werte übergibst du doch schon zur erstellung der Instanz von Angestellter, warum brauchst du die nochmal in
Code:
berechneMonatseinkommen
?[/EDIT]
 
Zuletzt bearbeitet:

Underfaker

Bekanntes Mitglied
"nicht Object, wer hat dir den Quatsch erzählt??" Ist das auf die Deklaration bezogen, wie deklariere ich sonst das Array personal?

Also das mit der Instanz habe ich bereits änlich probiert:

Java:
Angestellter a = new Mitarbeiter();

		personal[0]=new Angestellter(22,11.5);

		personal[1]=new Professor(121.40);

		personal[2]=new Mitarbeiter(40, 15);

		double Summe = 0;

		for (int i=0; i <= 2; i++)

		{

			Summe += a.berechneMonatseinkommen(personal[i]);

		}

		System.out.println("Die Summe betraegt: "+Summe);

So ungefähr war es bei mir lieferte aber ebnfalls Fehler deswegen hatte ich das verworfen, sollte das unter Umständen anders werden?

Uni.java:10: cannot find symbol
symbol : constructor Mitarbeiter()
location: class Mitarbeiter
Angestellter a = new Mitarbeiter();
^
Uni.java:24: berechneMonatseinkommen(double,double,double) in Angestellter
t be applied to (java.lang.Object)
Summe += a.berechneMonatseinkommen(personal);
^
Uni.java:24: inconvertible types
found : <nulltype>
required: double
Summe += a.berechneMonatseinkommen(personal);


[EDIT]Wie komme ich denn wieder an die drei double Werte, ich hatte angnommen die würden eben dort gespeichert werden[/EDIT]
 

Sesostris

Aktives Mitglied
Java:
    	Angestellter[] personal = new Angestellter[3];
    	personal[0]=new Angestellter(22,11.5);
    	personal[1]=new Professor(121.40);
    	personal[2]=new Mitarbeiter(40, 15);
Polymorphie

Java:
        for (int i=0; i <= 2; i++)
        	Summe += personal[i].berechneMonatseinkommen();
Die Methode gehört zu einem Objekt vom Typ Angestellter oder einer davon erbenden Klasse.

Java:
    public double berechneMonatseinkommen() {
    	return stdProMonat*geldProStunde+bonusProMonat;
    }
Es bietete sich hier an, sofort auf die Instanzvariablen des aufrufenden Objektes zurückzugreifen.

Sieh dir am besten eine Einführung in OOP an.
 

HimBromBeere

Top Contributor
Wie komme ich denn wieder an die drei double Werte, ich hatte angnommen die würden eben dort gespeichert werden
Die sind doch schon in a drin, wenn du selbiges so definiert hast:
Java:
Angestellter a = new Mitarbeiter(22, 11.5);

Tut mir Leid, dass mein obiger Edit zu spät kam, es muss natürlich
Code:
new Mitarbeiter(22, 11.5)
heißen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Array Objekte erstellen Java Basics - Anfänger-Themen 6
P Array-Objekte-Aufruf Java Basics - Anfänger-Themen 22
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
M Objekte in Array speichern und ausgeben Java Basics - Anfänger-Themen 17
R Objekte aus Array als String + kommasepariert speichern Java Basics - Anfänger-Themen 12
PaperHat Objekte in Array vergleichen Java Basics - Anfänger-Themen 9
J Array Objekte einer Klasse zuordnen Java Basics - Anfänger-Themen 15
Orkanson Objekte in ein Array einfügen Java Basics - Anfänger-Themen 5
K Comparable - Objekte aus Array vergleichen und größtes auswählen Java Basics - Anfänger-Themen 1
S Klassen Objekt- Tabelle / Dynamisches 2Dimensionales Array für Objekte Java Basics - Anfänger-Themen 6
F Objekte in einem Array speichern Java Basics - Anfänger-Themen 1
N Objekte in Array rein Java Basics - Anfänger-Themen 6
B Verschiedene Objekte in 2 dimensionalem Array speichern Java Basics - Anfänger-Themen 10
R Bilder aus Array als anklickbare Objekte Java Basics - Anfänger-Themen 3
F Adressverwaltungsprogramm: Objekte einer Klasse in Array Java Basics - Anfänger-Themen 6
T Objekte in Array verwalten Java Basics - Anfänger-Themen 4
I Objekte in einem Array sortieren Java Basics - Anfänger-Themen 19
B Ausgabe von Array aus Objekte Java Basics - Anfänger-Themen 2
W Objekte in einer Array sortieren Java Basics - Anfänger-Themen 3
T OOP Objekte erzeugen und in einem Array ausgeben. Java Basics - Anfänger-Themen 2
M Zugriff auf Objekte aus doppelten Array Java Basics - Anfänger-Themen 16
P Objekte im Array speichern und auf den Inhalt zugreifen ? Java Basics - Anfänger-Themen 4
I Erstellte Objekte in Array's miteinander vergleichen Java Basics - Anfänger-Themen 11
R Objekte in Array ablegen - Vererbung Java Basics - Anfänger-Themen 5
L Mit Array neue Objekte erzeugen Java Basics - Anfänger-Themen 3
S Point-Objekte in Array einfügen Java Basics - Anfänger-Themen 13
H Objekte in ein array ablegen Java Basics - Anfänger-Themen 7
B Array-objekte,. Es wird ein Fehler ausgegeben Java Basics - Anfänger-Themen 11
J Mehrere Objekte in einem Array Java Basics - Anfänger-Themen 5
walker23m 2 objekte in das array [i] t Java Basics - Anfänger-Themen 2
L Objekte im Array speichern Java Basics - Anfänger-Themen 3
G Array Objekte Klasse Java Basics - Anfänger-Themen 9
I Zapier -> wie werden Objekte gespeichert? Java Basics - Anfänger-Themen 10
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
K Hab ich dass so richtig erklärt (Objekte und Referenzen)? Java Basics - Anfänger-Themen 5
J Objekte in JSON speichern?? Java Basics - Anfänger-Themen 1
I Objekte in ShareProject speichern um später zu nutzen Java Basics - Anfänger-Themen 4
J Objekte Java Basics - Anfänger-Themen 22
T Objekte mit arrays erstellen Java Basics - Anfänger-Themen 6
Hzrfa Objekte, Referenz Java Basics - Anfänger-Themen 5
T 3D Objekte verarbeiten Java Basics - Anfänger-Themen 2
N Welche Objekte kann man zu einem Set hinzufügen Java Basics - Anfänger-Themen 4
I XML einlesen und Objekte bekommen Java Basics - Anfänger-Themen 2
W Objekte einer ArrayList in txt-datei schreiben mit Paths? Java Basics - Anfänger-Themen 2
Encera Zugriff auf Map-Objekte Java Basics - Anfänger-Themen 3
E Objekte löschen Java Basics - Anfänger-Themen 9
Encera Auf Objekte aus anderer Klassen zugreifen Java Basics - Anfänger-Themen 20
P Zähler Variable für mehrere Objekte Java Basics - Anfänger-Themen 6
B Objekte verschwinden beim Übersetzen Java Basics - Anfänger-Themen 5
D Zwei verschiedene Intellij Projekte, wie benutze ich wechselseitig objekte Java Basics - Anfänger-Themen 8
E Rekursiv Objekte erzeugen - geht das? Java Basics - Anfänger-Themen 2
T Collections Sind Subklassen-Objekte in Listen mit Generics erlaubt? Java Basics - Anfänger-Themen 16
F Aus eingelesener Datei korrekt Objekte erzeugen Java Basics - Anfänger-Themen 5
G Übergeordnete Objekte abrufen Java Basics - Anfänger-Themen 9
B Bin komplett am verzweifeln :( Verkettete Liste die Objekte hat Attribut auslesen Java Basics - Anfänger-Themen 14
A Objekte mit Parametern in eine Liste packen Java Basics - Anfänger-Themen 19
B Objekte, bspw. konkret Arraylists,manuell aus Speicher löschen? Java Basics - Anfänger-Themen 70
S Objekte von zwei klassen in zwei verschiedene Textdateien schreiben Java Basics - Anfänger-Themen 5
D Wie Objekte im JFrame frei bewegen lassen? Java Basics - Anfänger-Themen 3
Spandeli8 Erzeugte Objekte gegenüber Bildern hervorheben in Java Processing Java Basics - Anfänger-Themen 1
J Zwei Objekte vergleichen Java Basics - Anfänger-Themen 8
L Werte von Objekte addieren Java Basics - Anfänger-Themen 14
U Objekte in LinkedList löschen und editieren Java Basics - Anfänger-Themen 14
W Objekte über Scanner Input; ToString Probleme... Java Basics - Anfänger-Themen 4
G Methoden Informationen aus zwei Objekte bekommen? Java Basics - Anfänger-Themen 6
P Globale Objekte Java Basics - Anfänger-Themen 2
C Nachträglich neue grafische Objekte hinzufügen Java Basics - Anfänger-Themen 7
D Interaktion zweier Objekte Java Basics - Anfänger-Themen 5
S Objekte indiziert erstellen Java Basics - Anfänger-Themen 27
M Warum dürfen Objekte einer Klasse auf statische Variablen dieser Klasse referenzieren? Java Basics - Anfänger-Themen 10
M Objekte mittels equals vergleichen Java Basics - Anfänger-Themen 14
C Fernseher-Aufgabe (Methoden, Klassen und Objekte) Java Basics - Anfänger-Themen 63
N Typebound Objekte einer Arraylist hinzufügen Java Basics - Anfänger-Themen 7
A (Objekte Java Basics - Anfänger-Themen 6
Y Klassen Klassen und Objekte Java Basics - Anfänger-Themen 3
Y Klassen Klassen und Objekte mit set und get Java Basics - Anfänger-Themen 0
U Objekte in einer LinkedList sortieren Java Basics - Anfänger-Themen 5
N Methode um Objekte einer Liste hinzuzufügen Java Basics - Anfänger-Themen 1
G Java Objekte auf Duplikate testen Java Basics - Anfänger-Themen 4
B Neue Liste erstellen, wenn Objekte bestimmte Referenz hat / Gruppierung von Einträgen Java Basics - Anfänger-Themen 12
M Implementieren einer Datenstruktur, welche nur 5 Objekte speichert Java Basics - Anfänger-Themen 3
M Objekte miteinander vergleichen Java Basics - Anfänger-Themen 18
C Verschiedene Objekte in einer Liste speichern Java Basics - Anfänger-Themen 6
J Java GUI- Objekte Position per Quelltext bestimmen Java Basics - Anfänger-Themen 4
G Objekte in Methoden? Java Basics - Anfänger-Themen 13
H Auf Objekte bzw Variabeln aus einer anderen Methode zugreifen Java Basics - Anfänger-Themen 7
S Frage Klasse und Objekte Java Basics - Anfänger-Themen 2
K Boolean in einer Methode um 2 Objekte zu vergleichen Java Basics - Anfänger-Themen 12
I Objekte Hilfe Java Basics - Anfänger-Themen 8
G Klassen und Objekte Java Basics - Anfänger-Themen 2
W Verschachtelte Objekte wieder auspacken Java Basics - Anfänger-Themen 3
R Attribute mehrerer Objekte ausgeben Java Basics - Anfänger-Themen 3
C Objekte und Konstruktoren Java Basics - Anfänger-Themen 2
F Erstellen zweier Objekte mit dem selben Inhalt Java Basics - Anfänger-Themen 1
O ObjectOutputStream Anzahl Objekte festhalten Java Basics - Anfänger-Themen 17
X Objekte einer ArrayList richtig ausgeben? Java Basics - Anfänger-Themen 8
J Best Practice Dateiinhalte validieren und auf Objekte mappen Java Basics - Anfänger-Themen 3
B Automatisch Objekte erzeugen mit verschiedenen Namen Java Basics - Anfänger-Themen 4
der_Schokomuffin Hilfe gesucht beim Thema Objekte übergeben! Java Basics - Anfänger-Themen 2
S Konstruktor, Objekte Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben