Guten Nachmittag,
ich weiss es eine ganz schlechte Tugend mit seinem ersten Post schon um etwas Hilfe zu bitten
Ich habe ein Problem beim lösen einer Aufgabe für die Hochschule ( Java Programmieren 2 ). Entwicklungsumgebung ist BlueJ.
Das Thema unter welchem diese Aufgabe steht ist der Vererbung. Das Ziel ist einen Koffer zu packen.
Es soll 3 Hierarchie Ebene geben. In meinem Fall Gegenstände, darunter in einer Ebene Klamotten, darunter für Klamotten noch ein paar passende Klassen (Pullover, Jacke...) . Dann soll es noch eine Klasse Koffer geben, welche über eine ArrayList verfügt in die man Dinge vom Typ Gegenstände hineinlegen kann und das Gesamtgewicht des Koffers ( Koffer hat auch ein Eigengewicht ) bestimmen kann. Alle Objekte vom Typ Gegenstände haben ein eigenes Gewicht.
Mein Problem hierbei ist das Gesamtgewicht des Koffers zu bestimmen. Es sollen die Gewichte der in der Klasse Koffer abgelegten ArrayList addiert werden und noch das Eigengewicht des Koffers.
Es ist an sich kein Problem dieses Gewicht zu bestimmen, jedoch ist mein Dozent nicht mit meiner funktionsfähigen Lösung zufrieden :
Er bemängelt, dass das Gewicht erst berechnet werden sollte, wenn man es wirklich braucht ( macht auch Sinn
).
Zumindest versuchte ich nun in der Klasse Koffer mit
, irgendwie versuchen darüber es zu machen, jedoch erhalte ich dann die Exception "non-static method gibGewicht() cannot be referenced from a static context", ist ja auch vollkommen klar, da ich ja versuch auf ein Objekt zuzugreifen. Jedoch weiss ich nicht wie ich den Fehler beheben kann, ohne static zu verwenden ( sollen wir nicht ).
Kann mir bitte einer eine Hilfestellung geben wie ich zu meinem Gesamtgewicht komme ?
Vielen Dank und schönen Sonntag Nachmittag!
ich weiss es eine ganz schlechte Tugend mit seinem ersten Post schon um etwas Hilfe zu bitten
Ich habe ein Problem beim lösen einer Aufgabe für die Hochschule ( Java Programmieren 2 ). Entwicklungsumgebung ist BlueJ.
Das Thema unter welchem diese Aufgabe steht ist der Vererbung. Das Ziel ist einen Koffer zu packen.
Es soll 3 Hierarchie Ebene geben. In meinem Fall Gegenstände, darunter in einer Ebene Klamotten, darunter für Klamotten noch ein paar passende Klassen (Pullover, Jacke...) . Dann soll es noch eine Klasse Koffer geben, welche über eine ArrayList verfügt in die man Dinge vom Typ Gegenstände hineinlegen kann und das Gesamtgewicht des Koffers ( Koffer hat auch ein Eigengewicht ) bestimmen kann. Alle Objekte vom Typ Gegenstände haben ein eigenes Gewicht.
Mein Problem hierbei ist das Gesamtgewicht des Koffers zu bestimmen. Es sollen die Gewichte der in der Klasse Koffer abgelegten ArrayList addiert werden und noch das Eigengewicht des Koffers.
Es ist an sich kein Problem dieses Gewicht zu bestimmen, jedoch ist mein Dozent nicht mit meiner funktionsfähigen Lösung zufrieden :
Java:
public class Koffer
{
public ArrayList<Gegenstaende> inhaltliste; // ArrayListe vom Typ Klamotten
private int gesamtgewicht; //
private int eigengewicht;
/**
* Konstruktor für Objekte der Klasse Koffer.
*/
public Koffer(int eigengewicht)
{
inhaltliste = new ArrayList<Gegenstaende>();
this.eigengewicht = eigengewicht;
gesamtgewicht = eigengewicht + gesamtgewicht;
}
/**
* Entfernt angegebens Objekt aus dem Koffer.
*/
public void rausSachen(Gegenstaende gegenstaende)
{
gesamtgewicht = gesamtgewicht - gegenstaende.gibGewicht();
inhaltliste.remove(gegenstaende);
}
/**
* Fügt angegebenes Objekt in den Koffer.
*/
public void inKoffer(Gegenstaende gegenstaende)
{
inhaltliste.add(gegenstaende);
gesamtgewicht = gesamtgewicht + gegenstaende.gibGewicht();
}
/**
* Gibt die Größe der ArrayList aus.
*
* @return inhaltliste.size() Größe der ArrayList inhatliste
*/
public int listeanzahl()
{
return inhaltliste.size();
}
public int gibGewicht()
{
return gesamtgewicht;
}
Java:
public class Gegenstaende
{
private int gewicht; // Gewicht des Objekts
/**
* Konstruktor für Objekte der Klasse Gegenstaende.
*
* @param gewicht das Gewicht der Gegenstaende.
*
*/
public Gegenstaende(int gewicht)
{
this.gewicht = gewicht;
}
/**
* Liefert das Gewicht des Objekts.
*
* @return groesse das Gewicht des Objekts.
*/
public int gibGewicht()
{
return gewicht;
}
}
Java:
public class Klamotten extends Gegenstaende
{
private String farbe;
/**
* Konstruktor für Obejkte der Klasse Klamotten.
*
* @param gewicht das Gewicht des Pullover.
*
*/
public Klamotten(int gewicht, String farbe)
{
super(gewicht);
this.farbe = farbe;
}
/**
* Liefert das Gewicht des Objekts.
*
* @return groesse das Gewicht des Objekts.
*/
public String gibFarbe()
{
return farbe;
}
}
Java:
public class TShirt extends Klamotten
{
private String schnitt; // der Schnitt des Tshirts
/**
* Konstruktor für Objekte der Klasse TShirt.
*
* @param gewicht das Gewicht des TShirts.
* @param schnitt der Schnitt des TShirts.
* @param farbe die Farbe
*/
public TShirt(int gewicht, String farbe, String schnitt)
{
super(gewicht,farbe);
this.schnitt = schnitt;
}
/**
* Gibt das Gewicht, den Schnitt und die Farbe auf die Konsole aus.
*/
public void anzeigen()
{
System.out.println("Gewicht = " + gibGewicht() + "Farbe = " + gibFarbe() + " Schnitt = " + schnitt );
}
/**
* Liefert den Schnitt des TShirts.
*
* @return schnitt der Schnitt des TShirts.
*/
public String gibSchnitt()
{
return schnitt;
}
}
Er bemängelt, dass das Gewicht erst berechnet werden sollte, wenn man es wirklich braucht ( macht auch Sinn
Zumindest versuchte ich nun in der Klasse Koffer mit
Java:
Gegenstaende.gibGewicht();
Kann mir bitte einer eine Hilfestellung geben wie ich zu meinem Gesamtgewicht komme ?
Vielen Dank und schönen Sonntag Nachmittag!
Zuletzt bearbeitet: