Hilfe für Schulprojekt

Normale "M"-Funktionalität wäre aber allerhöchstens ein Stack mit peek(), eher nur ein einfacher 1-Wert-Speicher.
Ich meinte, dass man mehrere Werte unter verschiedenen benutzerdefinierten (Eingabefeld!) Namen speichern kann

Wird doch auch von Taschenrechnern so gemacht? :eek:
Die klassische M-Funktionalität macht das, stimmt :) Aber es gibt auch welche, die im Term dann den Variablennamen stehen lassen und erst bei der Auswertung diese ersetzen. Das hat den Vorteil, dass du den Variablenwert danach ändern kannst, in der Historie hochscrollen kannst und reevaluieren lassen kannst.

Also wenn du Speichern drückst, passiert map.put(inputField.getText(), accumulator.getValue()). @CptCookielike Akkumulator ist der aktuell errechnete Wert, der dann auch angezeigt wird.
Wenn du Laden drückst, passiert accumulator.setValue(map.getOrDefault(inputField.getText(), 0)).

Ehrlich gesagt (zumindest für mich): Sicher nicht nach Liste, die in O(n) sucht. Eher Baum (O(log(n)) oder Array (O(log(n))), was aber nicht erlaubt ist...
Ich dachte da an Map<String, Double>. Sicherlich kannst du das intern als TrieMap realisieren, aber ich glaube, du hast mich schon oben bei der M-Funktionalität missverstanden :p


@CptCookielike: Wie programmiert ihr die GUI an sich? Habt ihr da ein schulinternes Framework z. B.?
 
Ich dachte da an Map<String, Double>. Sicherlich kannst du das intern als TreeMap realisieren, aber ich glaube, du hast mich schon oben bei der M-Funktionalität missverstanden :p
Ah, du gehst von der Map aus.
Ich weiss aber nicht, ob der TE die Strukturen nicht selbst schreiben muss - einfach Standardbibliotheken benutzen scheint mir ein bisschen zu simpel (bis zu einem gewissen Grad sind die Interfaces ja ähnlich bis dieselben), speziell daher:
Was die Möglichkeiten natürlich eingrenzt ist die Tatsache, dass wir an komplexen Datenstrukturen im Unterricht bisher nur Lineare Liste, Schlange und Stack hatten. :/

Aber klar, wenn die Standard-Map erlaubt ist, dann ist es sicher besser, diese zu nehmen, statt alles selbst zu schreiben :)

Das hab ich sogar verstanden :D
Na dann bist du ja nicht zu dumm dafür :)

Genau das ist mein Problem mir fällt eben kein Projekt ein, was auf die Anforderungen passt :/
Mhm. Mir fielen nur noch Zahlenberechnungen ein, die aber als Array besser gingen (Sieb des Eratosthenes usw.). Aber möglicherweise kann man argumentieren, dass eine Liste besser ist, da es weniger Platz braucht.
Mit Listen gingen auch einige Graphenalgorithmen, aber die hattet ihr wohl noch nicht.
Stacks/Queues sind halt sehr spezifische Dinge, die man nicht einfach mal so braucht.
(Genaugenommen braucht man halt meist Arrays, weil sie schlicht in fast allen Belangen (einzige Ausnahme: Starke Veränderungen der Struktur (bspw. Grössenwechel)) den meisten anderen Strukturen überlegen sind; und man sie auch zu Hashtabellen pimpen kann, wodurch sie noch mächtiger werden.

Aber ich muss sagen, dass ich ratlos bin, wofür man eine Liste und einen Stack gleichzeitig brauchen sollte :/

Darfst du eigentlich Standardstrukturen (eben bspw. Map) verwenden?

Gruss
cwriter
 
Zurück