Prof. Dr. R. Guettler SS 2015 17. Uebung zu Programmierung 2

Werbung
Prof. Dr. R. Guettler
17. Uebung zu Programmierung 2 (Listen, Stacks)
================================================
SS 2015
Abgabe KW 22
============
1. Aufgabe
---------Eine Java-Klasse soll Namen (strings) in sortierter Reihenfolge mit Hilfe einer
doppelt verketteten Liste (vor- bzw. rueckwaerts, siehe Klasse DList aus Vorlesung Programmierung 1) mit den Methoden add und remove verwalten.
Die Namen sollen in die Liste sortiert eingefuegt werden, dabei versteht sich
von selbst, dass in der Liste keine Namen doppelt vorkommen duerfen !
Die Namen stehen in einer Eingabedatei (Name der Datei ist einzulesen!) jeweils
mit einem vorangestellten "+" fuer add oder einem "-" fuer remove.
Es duerfen keine Klassenbibliotheken fuer die Realisierung der sortierten Liste
verwendet werden!
Als Grundlage Ihrer Liste sollen Sie die o.g. Klasse DList verwenden, siehe
Hilfsmittel zu dieser Aufgabe.
Beachten Sie die Auswirkungen der "sortiert"-Bedingung auf die Sinnhaftigkeit
von Methoden der Implementierung zur Klasse DList:
- addFirst, addBefore usw. machen keinen Sinn!
- Welche Methoden bleiben uebrig ?
2. Aufgabe
---------Eine Java-Klasse soll Namen (strings) mittels eines Stacks mit den Methoden push
und pop verwalten.
Die auszufuehrenden Operationen stehen in einer Eingabedatei (der Dateiname ist
einzulesen!) jeweils mit einem Namen und vorangestelltem "+" fuer push oder "-"
(natuerlich ohne Namen) fuer pop.
Die Realisierung des Stacks soll mittels Array’s erfolgen (eine Realisierung mit
Liste befindet sich im Skript von Programmierung 1).
Allgemeine Hinweise fuer beide Klassen
-------------------------------------- Die Eingabedatei ist auf "existiert", "einfache Datei" und "lesbar" mittels
selbst geschriebener Exceptions abzupruefen. Im Fehlerfall ist adaequat zu
reagieren.
- Als Eingabedatei-Reader ist der LineNumberReader zu nutzen.
- Nach Lesen einer Eingabezeile ist deren Nummer und Inhalt auf Stdout auszugeben, nach ihrer Verarbeitung der momentane Zustand der entsprechenden
Datenstruktur ( SortedList bzw. Stack ).
- Fehlerhafte Eingabedateizeilen oder zu fehlerhaften bzw. verbotenen Aktionen
fuehrende Eingabedateizeilen sind mittels selbst geschriebener Exceptions dem
Testprogramm zu melden und auf der Stdout mit Zeilennummer zu dokumentieren.
- Das Testprogramm soll nach Abfangen einer Exception selbstverstaendlich die
weiteren Eingabezeilen verarbeiten (typischer Batch-Betrieb).
- Benutzen Sie bei den Methodenschnittstellen als Uebergabeparameter ObjectReferenzen, genauso wie bei den Datenstrukturen im Skript !
- Bedenken Sie, dass im Falle der sortierten Liste nur vergleichbare Objekte in
die Liste aufgenommen werden duerfen.
Herunterladen