Hallo liebe Java-Forum Gemeinde,
ich lerne gerade für die erste Klausur und übe mich im Programmieren, hänge jetzt aber an einem Fehler den ich nicht ausgebügelt bekomme.
Aufgabe ist hier, Eine Klasse zu entwerfen die ein Wörterbuch als Objekt erzeugt und zwei Methoden hat: insert(key, value) zum Einfügen von dem Wort und seiner Übersetzung sowie lookup(key) zum "Nachschlagen" des Wortes.
Hier erstmal mein Code:
Und die dazugehörige Klasse die das Objekt erzeugen soll:
Kompilieren lassen sich beide Programme, wenn ich DicTest jedoch ausführen will wirft mir javac allerdings die Meldung um die Ohren:
Da ich in der OOP noch relativ frisch bin weiß ich nicht genau was ich damit anfangen soll, ich vermute dass das Objekt nicht mehr auf das im Konstruktor erzeugte Array zugreifen kann, beschwören würde ich es aber nicht.
Weiß da jemand weiter?
Danke im Voraus und Grüße,
torblerone
ich lerne gerade für die erste Klausur und übe mich im Programmieren, hänge jetzt aber an einem Fehler den ich nicht ausgebügelt bekomme.
Aufgabe ist hier, Eine Klasse zu entwerfen die ein Wörterbuch als Objekt erzeugt und zwei Methoden hat: insert(key, value) zum Einfügen von dem Wort und seiner Übersetzung sowie lookup(key) zum "Nachschlagen" des Wortes.
Hier erstmal mein Code:
Java:
public class Dictionary {
int groesse, nextPos;
String [] [] dic;
public Dictionary(int i){
groesse = i;
String [] [] dic = new String [groesse] [2];
nextPos = 0;
} // Konstruktor
void insert (String key, String value) {
if(nextPos+1 <= dic.length){
dic[nextPos][0] = key;
dic[nextPos][1] = value;
nextPos++;
System.out.println(key + " und " + value + " wurden eingetragen.");
} else {
System.out.println("Dictionary ist voll!");
}
} // insert
public String lookup (String key) {
for(int n=0; n<(dic.length-1); n++){
if(key == dic[n][0]){
return dic[n][1];
}
}
System.out.println(key + " wurde nicht gefunden.");
return "";
} // lookup
} // Dictionary
Und die dazugehörige Klasse die das Objekt erzeugen soll:
Java:
public class DicTest {
public static void main (String [] args) {
Dictionary de_eng = new Dictionary(10);
de_eng.insert("Hallo", "Hello");
de_eng.insert("wollen", "want");
de_eng.lookup("Hallo");
} // main
} // DicTest
Kompilieren lassen sich beide Programme, wenn ich DicTest jedoch ausführen will wirft mir javac allerdings die Meldung um die Ohren:
D:\Java>java DicTest
Exception in thread "main" java.lang.NullPointerException
at Dictionary.insert(Dictionary.java:14)
at DicTest.main(DicTest.java:7)
Da ich in der OOP noch relativ frisch bin weiß ich nicht genau was ich damit anfangen soll, ich vermute dass das Objekt nicht mehr auf das im Konstruktor erzeugte Array zugreifen kann, beschwören würde ich es aber nicht.
Weiß da jemand weiter?
Danke im Voraus und Grüße,
torblerone