Pr0gr4mm3r (87) 1x Beste Antwort 2x "Danke"
|
java vergleichen
Antworten zu java vergleichen:
if (word == "Java") {
System.out.println("Erklärung für Java");
}
So oder so ähnlich geht's natürlich auch. Nur ist dein Quelltext dann ewig lang und eigentlich ergibt es gar keinen Sinn. Beschreib mal genauer was du willst.
Das klingt verdächtig nach einer HashMap. Darin werden Key-Value-Paare gespeichert und können effizient über den Key zugegriffen werden. Also ca. so:
Map<String, String> dictionary = new HashMap<String, String>();
// Lexikon befüllen
dictionary.put("Java", "Java ist eine Programmiersprache");
dictionary.put("xyz", "Erklärung");
// usw.
// Zugriff auf einen Eintrag (word)
String erklaerung = dictionary.get(word);
if (erklaerung == null) {
System.out.println("Nicht gefunden");
} else {
System.out.println(erklaerung);
}
Das Beispiel oben enthält eigentlich alles was nötig ist. Anlegen der HashMap, Befüllen und Werte auslesen. Weitere Infos gibt es z.B. hier:
http://download-llnw.oracle.com/javase/6/docs/api/java/util/HashMap.html .
http://ginevras.pil.fbeit.htwk-leipzig.de/Java-Insel/javainsel_11_005.htm#Rxx365java11005040003901F03F100
... wäre es auch eine Idee, den Wert Key mit einer Schleife aus einer Textdatei der Form <"key", "value"> auszulesen und bei Übereinstimmung mit <Eingabe> dann Value auszugeben und gar nicht erst einen Hash anzulegen (obwohl ein Hash sehr schnell ist)?
Dann wäre die Textdatei praktisch eine beliebig erweiterbare Datenbank und es müsste bei neuen Werten nicht dauernd im Programm geändert werden.
Selbst das Einlesen aus der Textdatei in einen Hash könnte eine Option sein ...
Klar. Das Auslagern von Einträgen ist natürlich grundsätzlich eine gute Idee. Wenn das Programm nur eine Anfrage beantworten kann und sich dann beendet, kann man es auch direkt aus einer Textdatei lesen. Bei mehreren Anfragen würde ich schon über die HashMap gehen (und dann beim Start/der ersten Anfrage aus der Datei lesen).
Spätestens wenn man in Dimensionen von mehreren 1000 Einträgen kommt, sollte man über eine echte Datenbank nachdenken.
« C# Mobiles Modem | Frage zur besten Umsetzung erines Projekts » | ||