自从我一直使用Java进行编码以来已经有一段时间了,现在我正在帮助一个刚开始上学的朋友。在帮助他的同时,我对ArrayList方法进行了编码,以从文件中添加单词并将其存储在ArrayList中。现在,我已经完成了该方法,我试图尝试一种递归方式来编写相同的方法。当前方法如下:

public Lexicon(String filename) throws IOException{
    wordlist = new ArrayList<>();

    Scanner scanWord = new Scanner(new File(filename));
    while (scanWord.hasNextLine()){
        wordlist.add(scanWord.nextLine());
        wordCount++;
    }
    scanWord.close();

}

最佳答案

不知道为什么要执行这样的操作,但是我假设您只是创建了一个可以自我调用的方法,直到不再剩下任何行。

public Lexicon(String filename) throws IOException{
....

    public void addWord(Scanner scanWord, List<> wordLst) {
        if (scanWord.hasNextLine()) {
            wordLst.add(scanWord.nextLine());
            addWord(scanWord, wordLst);
        } else {
            // base case - no more words
        }
    }
...
}

10-08 13:06