Ich lese Stoppwörter aus einer Datei, die ich in einer HashSet
speichern. Ich vergleiche HashSet
mit einem String
, um nach Stoppwörtern zu suchen.String nicht korrekt für Stoppwörter überprüft
Wenn ich ein einzelnes Stoppwort wie "das" in die String
-Variable einfüge, ist mein Ausgang "Yes". Wenn ich jedoch etwas wie "Apple ist es" oder "es ist ein Apfel" gibt, ist die Ausgabe "Nein", trotz der Tatsache, dass beide String
-Variablen Stoppwörter enthalten.
Hier ist das ganze Programm, das zwei Methoden, eine für das Lesen der Datei und eine für die Stoppwörter zu entfernen:
private static HashSet<String> readFile(){
Scanner x = null;
HashSet<String> hset = new HashSet<String>();
try {
x = new Scanner(new File("StopWordsEnglish"));
while(x.hasNext()){
hset.add(x.next());
}
} catch(Exception e) {
e.printStackTrace();
} finally {
x.close();
}
return hset;
}
public static void removeStopWords(){
HashSet<String> hset = readFile();
System.out.println(hset.size());
System.out.println("Enter a word to search for: ");
String search = "is";
String s = search.toLowerCase();
System.out.println(s);
if (hset.contains(s)) {
System.out.println("Yes");
} else {
System.out.println("No");
}
}
einen Debugger verwenden und es – Jens