Home > Informatik > Stufe Q1

11.1 Vokabelliste - Zielsetzung und erster Entwurf

Teil 1 - Teil 2

Zielsetzung und erste Schritte

Wir wollen ein kleines Programm schreiben, das Ihnen beim Lernen von englischen Vokabeln helfen soll. Zunächst erstellen wir eine Klasse Vokabel, deren Objekte dazu dienen, eine Vokabel (= deutsches Wort / englisches Wort) zu speichern. Anschließend erstellen wir eine Datenstruktur, die hunderte solcher Vokabel-Objekte verwaltet, nämlich eine Klasse VokabelListe.

Schritt 1 - Die Klasse Vokabel

Zunächst einmal benötigen wir eine Klasse, die eine Vokabel repräsentiert. Nennen wir diese Klasse doch einfach Vokabel. Die Objekte diese Klasse sollen dann in einem Array oder einer ArrayList gespeichert werden. Aber das ist dann die Aufgabe einer anderen, übergeordneten Klasse, um die wir uns später kümmern.

Übung 11.1-1 (PC)

Erstellen Sie eine Klasse Vokabel, die eine solche Vokabel repräsentiert.

Attribute der Klasse:

Ein Vokabel-Objekt besteht aus zwei Strings. Der erste String steht für den deutschen Begriff, der zweite String für den entsprechenden englischen Begriff. Nach dem Prinzip der Datenkapselung müssen die beiden Attribut nach außen verborgen bleiben.

Methoden der Klasse:

Neben dem Konstruktor, der ein neues Vokabel-Objekt erzeugt, soll die Klasse eine Methode zum Anzeigen des Wortpaares in der Konsole besitzen.

Experten können auch gleich eine Methode zum Anzeigen in einem Applet oder einer Java-Anwendung ergänzen. In diesem Fall müssten Sie das Test-Applet oder die Anwendung allerdings auch selbst programmieren. Vergessen Sie nicht, die Klasse Vokabel dann um eine anzeigen-Methode zu ergänzen, die die beiden Strings in einem Applet oder einer Java-Anwendung anzeigt.

Lösungshinweise, Bewertung

Schritt 2 - Eine Vokabelliste

Wie bereits angedeutet, ist der nächste Schritt die Erzeugung einer Klasse, welche in der Lage ist Hunderte oder gar Tausende solcher Vokabeln zu speichern. In der Stufe EF haben wir uns mit Arrays beschäftigt, die wir hier auch wieder einsetzen wollen, um das wichtige Thema noch einmal zu wiederholen.

Übung 11.1-2 (PC)

Erstellen Sie eine Klasse Vokabelliste, die maximal 100 solcher Vokabel-Objekte in einem Array speichert.

Attribute der Klasse:

Der Array, welcher die einzelnen Vokabel-Objekte speichert sowie eine Zähl-Variable, in der gespeichert wird, wie viele der maximal 100 Vokabel-Plätze mit Werten gefüllt sind.

Methoden der Klasse:

Eine Methode zum Hinzufügen einer neuen Vokabel und eine Methode zum Ausgeben der gesamten Liste.

Experten implementieren eine Methode zum Ausgeben, die in der Lage ist, die Vokabeln in einem Applet oder einer Java-Anwendung anzuzeigen.

Lösungshinweise, Bewertung

Schritt 3 - Übersetzung suchen

Wir wollen jetzt eine Funktion zum Suchen einer Übersetzung programmieren. Gegeben ist der deutsche Begriff, gesucht wird die englische Übersetzung.

Prinzipielles Vorgehen
  1. Wir geben den deutschen Begriff als String ein.
  2. Dann werden die Vokabeln der Liste der Reihe nach durchsucht (lineare Suche). Wenn der eingegebene String mit dem deutschen String-Attribut einer Vokabel übereinstimmt, ist die Suche beendet.
  3. In diesem Fall wird das englische String-Attribut der gefundenen Vokabel ausgegeben. Andernfalls wird mit der Suche weitergemacht.
  4. Sind wir mit der Suche bei der letzten Vokabel des Arrays angekommen und haben die Vokabel nicht gefunden, wird eine entsprechende Fehlermeldung erzeugt.
Implementierung
Übung 11-1-3 (PC)

Ergänzen Sie die Klasse Vokabelliste um eine entsprechende sondierende Methode.

Parameter:

Der einzige Parameter dieser Methode soll ein String sein, der für die deutsche Vokabel steht.

Rückgabewert:

Der Rückgabewert dieser sondierenden Methode ist der gefundene englische Begriff. Sollte die Vokabel nicht im Array enthalten sein, soll "nicht vorhanden" als String-Wert zurückgeliefert werden.

Experten erweitern ihr Java-Applet oder ihre Java-Anwendung entsprechend. Im Idealfall verwenden Sie dazu zwei Objekte der Klasse TextField.

Lösungshinweise, Bewertung

Schritt 4 - Vokabeln sortieren

Die Methode zum Anzeigen der Vokabeln funktioniert schon ganz gut, nur leider werden die Vokabeln in der Reihenfolge angezeigt, in der sie in den Array aufgenommen wurden - völlig ungeordnet also.

Übung 11-1-4 (PC)

Schreiben Sie zwei Methoden

public void sortierenDeutsch()

public void sortierenEnglisch()

die den Array der Vokabel-Objekte nach den deutschen bzw. englischen Begriffen aufsteigend sortieren.

Experten erweitern ihr Java-Applet oder ihre Java-Anwendung entsprechend mit mehreren Buttons; zwei Buttons dienen dann zum Aufrufen der beiden Methoden zum Sortieren. Die Vokabeln sollten dann untereinander ausgegeben werden können.

Lösungshinweise, Bewertung sowie eine weitere Zusatzaufgabe für die Experten.

 

Und weiter mit Teil 2 dieser Folge...