一个非常简单的方法,只有当你的单词数量很少时才有效,那就是遍历单词列表并尝试逐字匹配。
这是一个非常基本的示例(不处理大小写,也不处理单词的多次出现或其他),但它向您展示了如何做:
String input = readFromUser();
String[] dictionary = new String[] { "Apple", "Cake" };
List<String> found = new ArrayList<>();
for (String word : dictionary) {
int index = input.indexOf(word);
if (index >= 0) {
input = input.substring(0, index) + input.substring(index + word.length());
found.add(word);
}
}
System.out.println("Found " + found.size() + " words: " + found);
这是非常简单的方法,因为它很耗时。
另一种方法是使用Trie并对其进行导航,直到找到正确的单词(应该是更好的方法)。