Zum Inhalt springen

BlueJ - Nachfolger/Knoten - Problem


Andiii

Empfohlene Beiträge

Hallo Leute,

Ich habe folgendes Problem in einem Projekt mit BlueJ:

In meinem Projekt geht es darum, dass es eine Klasse Obstkette gibt und eine Klasse Schale. Später wenn man eine Obstkette angelegt hat, sollen darin Schalen gespeichert werden, wobei jeweils jeder Nachfolger der Schale mithilfe von Knoten gespeichert werden soll.

Dann soll man die Möglichkeit haben eine Schale unten wegzunehmen.

Das mache ich , mithilfe der Methode in der Klasse Obstkette:

Wobei anzumerken ist, dass "Decke" die erste Schale, also ganz oben an der Decke ist.

public void untenwegnehmen()

{

if (anzahlschalen > 0)

{

Schale letzteSchale = Decke;

while(letzteSchale.naechsteSchalegeben() != null)

{

letzteSchale = letzteSchale.naechsteSchalegeben();

}

letzteSchale.Obstart = null;

letzteSchale = null;

letzteSchale = Decke;

while(letzteSchale.naechsteSchalegeben() != null)

{

letzteSchale = letzteSchale.naechsteSchalegeben();

}

letzteSchale.naechsteSchalesetzen(null);

letzteSchale.nachfolger =null;

anzahlschalen--;

Länge = Länge - 50;

}

die Methoden naechsteSchalegeben und naechsteSchalesetzen sind folgendermaßen in der Klasse Schale definiert:

public Schale naechsteSchalegeben()

{

return nachfolger;

}

public void naechsteSchalesetzen (Schale s)

{

nachfolger = s;

}

Jetzt zu meinem Problem:

Wenn ich die Methode untenwegnehmen ausführe wird zwar die letzte Schale null gesetzt, aber die Verknüpfung der vorletzten Schale auf die letzte Schale existiert immernoch, obwohl diese Verknüpfung ja eigentlich null gesetzt werden sollte.

Kann mir jemand vielleicht einen Hinweis geben oder den Quelltext so umschreiben, dass es geht? Wenn jemand noch zusätzliche Infos zum Projekt

oder die anderen Methoden benötigt, einfach nur Fragen.

Danke schonmal,

Andiii

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn ich die Methode untenwegnehmen ausführe wird zwar die letzte Schale null gesetzt, aber die Verknüpfung der vorletzten Schale auf die letzte Schale existiert immernoch, obwohl diese Verknüpfung ja eigentlich null gesetzt werden sollte.

Natürlich Du läufst immer vollständig durch Deine Datenstruktur und veränderst nur lokale Variablen.

Kann mir jemand vielleicht einen Hinweis geben oder den Quelltext so umschreiben, dass es geht?

Sicherlich wird hier niemand Deine Hausaufgaben machen. Ich denke einmal, dass Du Dir eine FIFO Liste anschauen solltest:

First In ? First Out ? Wikipedia

Warteschlange (Datenstruktur) ? Wikipedia

Ich tippe mal, dass ist es was Du implementieren sollst. Du stellst eine Schale oben auf und nimmst sie unten weg. Was zwar nach meiner Interpretation nicht wirklich sinnvoll als Beispiel ist. Ich würde ja eher darauf tippen, dass Du eine LIFO Liste und damit einen Stack implementieren sollst:

Last In ? First Out ? Wikipedia

Stapelspeicher ? Wikipedia

Du solltest Dir auch noch einmal überlegen was Objekte und die darin enthaltenen Eigenschaften sind und wie zu diesen der Unterschied zu lokalen Variablen besteht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo! Ich habe mal eine Frage, bin ein Neueinsteiger in Java und hab ein problem bei einer Aufgabe.

Weiß einer vielleicht die Lösung?

Dies ist eine Frage vom Test

Frage:

Für was könnte man folgende if Anweisung verwenden?

if (a<8) {a=8;} elseif (a<c) {a=c} return a;

sorry falsches thema *

Bearbeitet von Kutzi
Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...