hi,
ich bin dabei folgende aufgabe zu lösen:
Habe den Code eigentlich fertiggestellt (für beide Aufgabenteile). Leider funktioniert die Stringübergabe an die Klasse WörterbuchData nicht, weil mir beim Abruf der Methode getUebersetzungen(String wort) nichts angezeigt wird... Finde den Fehler einfach nicht.
ich bin dabei folgende aufgabe zu lösen:
Aufgabe 4:
Ein Wörterbuch im Sinne der folgenden Aufgabe ist dadurch charakterisiert, dass es
mehrere Begriffe enthält, denen jeweils ein oder mehrere Übersetzungen zugeordnet
sind.
Aufgabe (a): Implementieren Sie eine Klasse Woerterbuch mit folgenden
Methoden:
1. Eine Methode einfuegen mit zwei String-Parametern, nämlich einem
Begriff und einer (u. U. weiteren) Übersetzung.
2. Eine Methode getUebersetzungen, die einen String als Parameter
übergeben bekommt und als String-Array die im Wörterbuch gespeicherten
Übersetzungen dieses Begriffs liefert.
Aufgabe (b): Schreiben Sie mit Hilfe der Klasse Woerterbuch ein kleines
Programm, in dem ein Benutzer zunächst eine Menge an Begriffen und
Übersetzungen eingeben kann und er sich anschließend zu einzelnen
einzugebenden Begriffen die gespeicherten Übersetzungen ausgeben lassen kann.
Habe den Code eigentlich fertiggestellt (für beide Aufgabenteile). Leider funktioniert die Stringübergabe an die Klasse WörterbuchData nicht, weil mir beim Abruf der Methode getUebersetzungen(String wort) nichts angezeigt wird... Finde den Fehler einfach nicht.
Java:
import java.util.Scanner;
import java.io.*;
public class Wörterbuch {
public static void main(String[] args) throws Exception {
Scanner scan = new Scanner(System.in);
WörterbuchData data = new WörterbuchData();
InputStreamReader read = new InputStreamReader(System.in);
BufferedReader buffer = new BufferedReader(read);
data.erzeugen();
System.out.print("Anzahl Wörter: ");
int anzahl = scan.nextInt();
for (int x = 0; x < anzahl; x++) {
System.out.print("Wort: ");
String wort = buffer.readLine();
System.out.println(wort);
System.out.print("Übersetzung: ");
String übersetzung = buffer.readLine();
data.einfügen(wort, übersetzung);
}
while (true) {
System.out.println(data.database[0][1]);
System.out.println(data.database[1][1]);
System.out.println("Wort: ");
String wort1 = buffer.readLine();
data.getUebersetzungen(wort1);
}
}
}
class WörterbuchData {
String[][] database = new String[10][10];
void erzeugen() {
for (int x = 0; x < database.length; x++) {
for (int y = 0; y < database[x].length; y++) {
database[x][y] = new String();
}
}
}
void einfügen(String wort, String übersetzung) {
boolean vorhanden = false;
for (int x = 0; x < database.length; x++) {
if (database[x][0].equals(wort)) {
for (int y = 0; y < database[x].length; y++) {
if (database[x][y].equals(null)) {
database[x][y] = übersetzung;
vorhanden = true;
break;
}
}
}
}
if (vorhanden == false) {
for (int x = 0; x < database.length; x++) {
if (database[x][0].equals(null)) {
database[x][0] = wort;
database[x][1] = übersetzung;
break;
}
}
}
}
void getUebersetzungen(String wort) {
for (int x = 0; x < database.length; x++) {
if (database[x][0].equals(wort)) {
for (int y = 1; y < database[x].length; y++) {
if (database[x][y].equals(null) == false) {
System.out.println(database[x][y]);
}
}
}
}
}
}