Hallo!
Ich habe folgendes Problem bei einer Programmieraufgabe:
In einer verketten Liste sind Objekte meiner Klasse Geschenk gespeichert. Diese Klasse enthält u.a. den Namen des Kindes, für die das Geschenk (als String) ist, sowie den Wert des Geschenks (als float) und einen Verweis auf den Nachfolger in der Liste.
Nun soll ich eine rekursive Methode in einer Klasse Beutel schreiben, die ausgibt, wie viele Geschenke jedes einzelne Kind bekommt. (Klasse Beutel (damit ist der Beutel des Nikolaus gemeint => es weihnachtet enthält die Referenzvariable auf das erste Glied einer Liste von Geschenken)
Und da liegt das Problem: Ich muss ja zuerst irgendwie berechnen, wie viele Geschenke jedes Kind bekommt, d.h. die Liste durchlaufen und dann die Information "extern" speichern, da ich am Anfang der Liste ja noch nicht weiß, wie oft ein bestimmtes Kind später in der Liste noch auftaucht und ein Geschenk bekommt.
Ich habs mit nem Array versucht (bzw. mit 2 Arrays, einen vom Typ String für die Namen der Kinder und einem vom Typ float für den Wert des Geschenks => sehr schlechter Programierstil), aber das funktioniert nicht (Wo und wie (static?) müsste ich diesen Array anlegen -> innerhalb der Methode geht nicht, da die Methode rekursiv ist, in der Klasse mit static funktionierts auch nicht)
Oder gibts einen ganz anderen (saubereren) Lösungsansatz ohne Array / Zwischenspeichern??
Ich hoffe jemand hat das Problem verstanden
Danke schonmal für die Antworten !!
Gruß,
Markus
Ich habe folgendes Problem bei einer Programmieraufgabe:
In einer verketten Liste sind Objekte meiner Klasse Geschenk gespeichert. Diese Klasse enthält u.a. den Namen des Kindes, für die das Geschenk (als String) ist, sowie den Wert des Geschenks (als float) und einen Verweis auf den Nachfolger in der Liste.
Nun soll ich eine rekursive Methode in einer Klasse Beutel schreiben, die ausgibt, wie viele Geschenke jedes einzelne Kind bekommt. (Klasse Beutel (damit ist der Beutel des Nikolaus gemeint => es weihnachtet enthält die Referenzvariable auf das erste Glied einer Liste von Geschenken)
Und da liegt das Problem: Ich muss ja zuerst irgendwie berechnen, wie viele Geschenke jedes Kind bekommt, d.h. die Liste durchlaufen und dann die Information "extern" speichern, da ich am Anfang der Liste ja noch nicht weiß, wie oft ein bestimmtes Kind später in der Liste noch auftaucht und ein Geschenk bekommt.
Ich habs mit nem Array versucht (bzw. mit 2 Arrays, einen vom Typ String für die Namen der Kinder und einem vom Typ float für den Wert des Geschenks => sehr schlechter Programierstil), aber das funktioniert nicht (Wo und wie (static?) müsste ich diesen Array anlegen -> innerhalb der Methode geht nicht, da die Methode rekursiv ist, in der Klasse mit static funktionierts auch nicht)
Oder gibts einen ganz anderen (saubereren) Lösungsansatz ohne Array / Zwischenspeichern??
Ich hoffe jemand hat das Problem verstanden
Danke schonmal für die Antworten !!
Gruß,
Markus
Code:
public class Geschenk
{
String kind;
float wert;
Geschenk nf;
}
Code:
class Beutel
{
Geschenk untenimbeutel; // verweist auf das erste Objekt der Liste
void gibKinderunddieAnzahlderenGeschenkeaus()
{
// ???
}
}