Die Aufgabe
Übungsblatt 11
Auf die Verwendung der Klassen In und Out soll ab sofort verzichtet werden. Realisieren Sie alle Ein- und Ausgaben mit den Möglichkeiten der Java-Klassenbibliothek.
Aufgabe 11.1
a) Implementieren Sie ein Wörterbuch als Klasse Dictionary. Das Wörterbuch soll Paare von deutschen und entsprechenden englischen Wörtern enthalten. Dabei soll das deutsche Wort als Suchkriterium dienen und das englische als Wert, der dazu gefunden werden soll. Die folgenden Operationen sowie geeignete Konstruktoren sind vorzusehen:
void insert (String key, String value)String lookup (String key)void printList ()int showSize ()
Mit Hilfe der Methode insert werden key und value in das Wörterbuch eingetragen.
Mit Hilfe von lookup wird key im Wörterbuch gesucht und das entsprechende value oder null, falls key nicht gefunden wird, zurückgeliefert.
printList gibt das gesamte Wörterbuch auf dem Bildschirm aus.
showSize gibt die aktuelle Anzahl der Einträge aus.
Bei der Realisierung soll darauf geachtet werden, dass auf die internen Daten von außen nicht zugegriffen werden kann. Ein Objekt der Klasse Dictionary soll nur über die Methoden insert, lookup, printList und showSize ansprechbar sein. Mit Hilfe des parameterlosen Konstruktors kann eine feste (im Programm festgelegte) Größe des Wörterbuchs erreicht werden, z. B. 10. Ein weiterer Konstruktor erwartet einen Parameter, der zum Zeitpunkt der Objekt-Generierung die gewünschte Größe des Wörterbuchs angibt.
b) Zum Testen der Klasse Dictionary soll eine weitere Klasse TestDictionary geschrieben werden. Mit Hilfe der main-Methode in der Klasse TestDictionary sollen interaktiv Wörterpaare eingetragen und später einzelne Wörter erfragt werden können. Die main-Methode erwartet wahlweise keinen oder einen Parameter, welcher die Größe des Wörterbuches angibt. Zur Realisierung der Auswahl der jeweils gewünschten Funktion können Sie sich an vorherigen Aufgaben orientieren (A8_2, A9_1).
Gesucht sind zwei Klassen. Dictionary speichert Paare aus einem deutschen Wort (dem Schlüssel, englisch key) und seiner englischen Übersetzung (dem Wert, englisch value). Von außen darf man nur über die vier genannten Methoden an die Daten. Zwei Konstruktoren legen die Größe fest: fest 10 oder frei gewählt. TestDictionary ist das Hauptprogramm: Es legt ein Wörterbuch an und lässt den Benutzer über ein Menü Paare eintragen und Wörter nachschlagen.
Ein Konstruktor ist eine besondere Methode, die beim Anlegen eines Objekts mit new läuft und seine Felder vorbereitet. Ab diesem Blatt gilt außerdem: keine Kursklassen In und Out.
private, kann nur die Klasse selbst sie ändern, und alle anderen müssen ihre Methoden benutzen.- (a) Objekt und Felder: zwei Arrays und ein Zähler.
- (a) Die Daten mit private schützen.
- (a) Zwei Konstruktoren.
- (a) insert: ein Paar eintragen.
- (a) lookup: ein Wort suchen.
- (a) printList und showSize.
- (b) Die Größe aus dem Startparameter.
- (b) Menü und Schleife.
- (b) Eintragen und nachschlagen.
- (b) Ausgeben, Anzahl, falscher Code.
- (b) Übersetzen und Testlauf mit Größe 4.
- (b) Volles Wörterbuch und ohne Parameter.