在文本文件中搜索单词

时间:2020-02-08 18:00:54

标签: java

我已经写了下面的代码。这是一种将参数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 ;
    }  
}

1 个答案:

答案 0 :(得分:0)

这里不需要递归。一个简单的 [formActionTypes.UPDATE_SECTION]: (state, action) => { //ex. field-FieldName, value-"text1Updated", index=0, element="primaryText" const { field, value, index, element } = action.payload; return { ...state, [field]: state[field].map((object, i) => i === index ? { ...object, [element]: value } : object ) }; }, 循环和一个while()应该可以完成工作:

break