Andiii Geschrieben 17. Oktober 2009 Geschrieben 17. Oktober 2009 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
flashpixx Geschrieben 18. Oktober 2009 Geschrieben 18. Oktober 2009 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.
Kutzi Geschrieben 21. Oktober 2009 Geschrieben 21. Oktober 2009 (bearbeitet) 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 21. Oktober 2009 von Kutzi
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden