你的代码对我来说似乎没问题.我建议一点变化:
由于您正在经历所有可能的组合,因此您可能会在开始时获得背面的toLowerCase().
此外,如果已经发生完全匹配,则不需要执行另一个等号.
result = result.toLowerCase();
searchStr = searchStr.toLowerCase();
String[] resultWords = result.split(" ");
String[] searchWords = searchStr.split(" ");
int score = 0;
for (String resultWord : resultWords) {
boolean exactMatch = false;
for (String searchWord : searchWords) {
if (!exactMatch && resultWord.equals(searchWord)) {
exactMatch = true;
score += 3;
} else if (resultWord.contains(searchWord))
score++;
}
}
当然,这是一个非常基本的水平.如果您真的对计算机科学领域感兴趣并希望了解有关实现搜索引擎的更多信息,请从以下术语开始: