gpt4 book ai didi

java - 在文本文件中搜索单词

转载 作者:行者123 更新时间:2023-12-01 18:32:42 25 4
gpt4 key购买 nike

我写了下面的代码。这是一个将参数 sig 与字典进行比较的简单方法。我已经能够使代码工作,如果有匹配,它将返回字典中的第一行。

但是我正在努力让代码循环。我不知道字典中有多少行,如果我确实让循环工作,如何防止该方法继续读取字典中的第一行。我想知道我是否应该尝试递归地执行此操作。有小费吗?谢谢。

public static Set<String> signature2Words(String sig) throws FileNotFoundException{
try (Scanner s = new Scanner(new File("c:/Users/Green/documents/dictionary.txt")).useDelimiter("\\s*-\\s*")) {

String dictionary = new String(s.nextLine());
System.out.println(dictionary);
System.out.println(wordToSignature(dictionary));

if (sig.compareToIgnoreCase(wordToSignature(dictionary)) == 0){
System.out.println("match");
}

Set<String> set = new HashSet<>();
set.add(dictionary);
return set ;
}
}

最佳答案

这里不需要递归。一个简单的 while() 循环和 break 就可以完成这项工作:

try (Scanner s = new Scanner(file).useDelimiter("\\s*-\\s*")) {

while (s.hasNextLine()) {
String dictionary = s.nextLine();
System.out.println(dictionary);
if (sig.compareToIgnoreCase(wordToSignature(dictionary)) == 0) {
System.out.println("match");
break;
}
}
Set<String> set = new HashSet<>();
set.add(dictionary);
return set;
}

关于java - 在文本文件中搜索单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60129583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com