Wörterbuch einbinden

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,
ich würde gern ein simples Programm schreiben, wobei ein Wort eingegeben wird, welches dann mit einem vorher festgelegten Wörterbuch-String verglichen wird.
Ich stehe aber gerade vor dem Problem den String in einzelne Wörter aufzuteilen, die dann jeweils mit dem Eingabewort vergleichen werden.

Ich schicke mal meinen bis jetzt geschriebenen Code:


Code:
import algoj.IOUtils;

public class Wörterbuch {

		public static void main(String[] args) {
				
		String Eingabe;
		String dictionary;
		int i;
		int z;
		int x = 0;												// Werte werden festgelegt
		
		dictionary="bla" + "peter" + "gedöns" + "flup";			// Wöterbuch wird festgelegt
		
		
	
		System.out.println("Wort eingeben:");
		
		Eingabe = IOUtils.readString(); 						// Eingabe des Wortes
		Eingabe=Eingabe.toLowerCase();                      	// Macht Buchstaben zu kleinen Buchstaben
		
		z=Eingabe.length(); 									// Buchstaben werden gezählt
		
		System.out.println("Die Anzahl der Buchstaben beträgt: "+z); 
	
		
		
		for(i=0;i<Eingabe.length();i++)
		{
			
			if (Eingabe.charAt(i)== dictionary.charAt(i))  		//vergleicht Wort mit denen aus dem Wörterbuch
			{
			x=x+1;
			}
	
		}

		if (x == z)
		{System.out.println("Das Wort ist im Wörterbuch");}
		
		else
		{System.out.println("Das Wort ist nicht im Wörterbuch");}    // Ausgabe
	}
}
[/quote]

Ich brauche nun bei Zeile 32 einen Befehl, der den String in einzelne Wörter auftrennt, welche dann mit dem aus der Eingabe verglichen werden.
Das Programm soll mir nur als Beispiel dienen, ich möchte also kein umfassendes Wörterbuch einbinden.

Hat jemand eine Idee??

MfG Kevin
 
dictionary="bla" + "peter" + "gedöns" + "flup";
Der String sieht also so aus:
blapetergedönsflup
Denkst du wirklich es gäbe eine Zauberfunktion die dir das wieder in die 4 Ursprungsteile zerlegt?
 
- Nimm für das Wörterbuch ein Array oder eine ArrayList.

- Dann geh mit einer Schleife durch und vergleiche
Code:
for(String s : dictionary) {
  //hier vergleichen
  //Tip: NICHT "s == Eingabe". Suche hierfür im Forum oder im Lehrbuch deiner Wahl
}

- Schreibe Variablen klein.
 
Man ging das schnell !!
Dankeschön erstmal, ich teste es erstmal mit den Array...

MfG Kevin
 
wörterbuch? was haßt du davon, wenn du weißt ob ein string ein einem wörterbuch ist? solltest du nicht eine entsprechende bedeutung finden? das wär ja cool!

also ich würd eine hashmap nehmen, so:

Code:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;

public class Wörterbuch {

	public static void main(String[] args) throws IOException {

		BufferedReader reader = new BufferedReader(new InputStreamReader(
				System.in));
		HashMap<String, String> dictionary = new HashMap<String, String>();
		boolean running = true;
		dictionary.put("dog", "hund");
		dictionary.put("house", "haus");
		dictionary.put("cat", "katze");
		dictionary.put("beer", "bier");
		String eingabe = null;
		while(running){
			System.out.println("englisches Wort eingeben:");
			eingabe = reader.readLine();
			String found = dictionary.get(eingabe.toLowerCase());
			if(eingabe.equalsIgnoreCase("q")){
				running = false;
			}else if(found == null){
				System.out.println(eingabe+" wurde nicht gefunden!");
			
			}else{
				System.out.println(eingabe+" bedeuted: "+found);
			}
		
		}
		
	}

}
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben