Könnt ihr mir beim Programmieren eines Vokabeltrainers helfen?

2 Antworten

1) Es wäre besser, du würdest all deinen Variablen (und Methoden) aussagekräftige Bezeichner geben (Negativbeispiele sind d, e, voks) und bei einer Sprache bleiben (vergleiche current und Vokabel).

2) Du scheinst nicht mit der Java SE zu arbeiten, denn weder beinhaltet die List aus dem java.util-Package Methoden wie toFirst, next oder hasAccess, noch wäre so eine Instanzierung

List<Vokabel> voks = new List();

möglich. List ist ein Interface. Wieso bei dem rechtsseitigen Wert die generische Typangabe fehlt, ist für mich nicht verständlich. Ich würde zumindest so eine Zuweisung erwarten:

List<Vokabel> vocabularies = new List<>();

3) Da du nicht mit einer List-Implementation der Java SE arbeitest, kann man bei diesem Aufruf

current = voks.getContent();

nur raten, was wirklich passiert. Der Name der Methode verspricht, den Inhalt der Liste zu liefern. Die Variable current wiederum stellt nur eine einzige Vokabel dar. Also ist die Methode entweder schlecht/falsch benannt (sie liefert nur einen einzelnen Datensatz / eine Vokabel) oder du bräuchtest eigentlich eine andere Variable anderen Typs. Von Ersterem gehe ich folgend einmal aus.

Nach Ausgabe der Vokabel müsstest du mit deinem Scanner-Objekt eine Eingabe vom Nutzer auslesen. Dein Objekt für die Vokabel müsste dann noch eine Methode haben, die die deutsche Übersetzung zurückgibt, damit du die Eingabe gegenprüfen kannst. Vergiss an der Stelle nicht: Strings werden via equals-Methode miteinander verglichen.

someString.equals(anotherString)

Was die Reaktion auf diese Auswertung sein soll, müsstest du nun noch definieren. Vielleicht nur eine Ausgabe wie Richtig/Falsch oder doch irgendetwas Komplexeres (ein Punktesystem / eine Wiederholung der gleichen Abfrage / ...).

Im Anschluss wird mit next wohl die nächste Vokabel aufgerufen und hasAccess prüft wahrscheinlich, ob es noch Kandidaten in der Liste gibt, die man aufrufen kann.

Woher ich das weiß:Recherche