2016-09-23 2 views
0

Прошло некоторое время с тех пор, как я кодировал java, и теперь я помогаю другу, который начал школу. Помогая ему, я закодировал метод ArrayList, чтобы добавить слова из файла и сохранить их в пределах 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(); 

} 
+2

Зачем вам рекурсия здесь? это не ясно –

+0

Поскольку вы читаете несколько строк из одного файла, а не нескольких файлов. Не имеет смысла использовать рекурсию для этого процесса. – shashwatZing

+0

Слепой, ведущий слепой? ха-ха. Я не думаю, что вам нужна рекурсия здесь вообще и использовать ее, когда она вам не нужна, это наверняка закончит смущать вас обоих, если не обоих. – leigero

ответ

1

Не знаю, почему вы хотите сделать что-то вроде этого, но я предполагаю, что вы просто сделать метод, который называет себя до тех пор, пока не останется больше строк осталось.

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 
     } 
    } 
... 
} 
Смежные вопросы