P2 Task 4: Veränderung der übergebenen Liste [geklärt]

ChrisH
Erstie
Erstie
Beiträge: 11
Registriert: 25. Apr 2013 15:08

P2 Task 4: Veränderung der übergebenen Liste [geklärt]

Beitrag von ChrisH »

Mal ne frage bei der Task 4 -> 2

Bekomme ich ja immer eine Liste übergeben in der Form

name para1 para2 .....paran : formel


und am ende soll es ja laut der beschreibung alles durch ein | getrennt werden und der : rausgeworfen werden... das hab ich soweit verstanden und "eigentlich" auch schon bearbeitet

Aber bei Task 4 iii werden mir nun listen in der Form : square -> doubledif -> null übergeben. ich bin davon ausgegangen das wir das nicht überprüfen müssen und hab es halt direkt an meine interpretFunctionDefinitions weiter geleitet damit die sich drum kümmert und mir die HashMap dafür ausgibt so das ich alles ersetzen kann.

Nur mit einer liste wie : square -> doubledif -> null kann ich nichts anfangen da ich die dazugehörigen Werte ohne die Normale Form von name para1 para2 .....paran : formel nicht berechnen kann.

Irgendwer nen tipp?



*** edit ***
habs gefunden -> bin davon ausgegangen das wenn ich eine "kopie" von etwas erhalte ich das original nicht mal ansatzweise anfassen kann ~ aber die pointer wurden dabei trotzdem umgesetzt und so hab ich "functions" aus der junit irgendwie gleichzeitig mit geändert ..
Zuletzt geändert von Bug am 9. Mai 2013 20:02, insgesamt 1-mal geändert.
Grund: Titel angepasst (war nicht spezifisch), damit andere das Problem leichter finden können

Benutzeravatar
Bug
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 161
Registriert: 12. Okt 2011 10:28

Re: P2 Task 4: Veränderung der übergebenen Liste [geklärt]

Beitrag von Bug »

Genau, das ist ganz wichtig, wenn man mit verzeigerten Listen arbeitet: Die Zeiger sorgen dafür, dass alles zusammenhängt, und nur weil man zum Beispiel eine neue Liste anlegt, werden nicht auch die Elemente dupliziert. Wenn man dann ein Element löscht, ist es in allen Listen weg. In dem Fall erhält man aber nicht einmal eine Kopie sondern nur eine Referenz.

Also für alle: Niemals Elemente einer Liste löschen, die als Testdaten übergeben werden - das zerstört nämlich im Zweifelsfall auch die anderen Tests.

Es ist aber auch, wie ich schon in einem anderen Thread schrieb, Konvention in Java, dass man nur dann ein Objekt verändert, dass man als Referenz übergeben bekommt (was eigentlich immer der Fall ist, wenn es nicht primitive Datentypen sind), wenn das die absichtliche Funktion der Methode ist.
Ophasen-Leitung Winter 2014/15, Sommer 2015, Sommer 2016 & Winter 2016/17
TGdI Tutor WiSe 14/15, 13/14 und 12/13
GdI II Betreuung Praktika SoSe 13
CMS Tutor SoSe 13

Antworten

Zurück zu „Archiv“