无法计算文本文件中的单词

时间:2016-02-02 00:57:26

标签: java text-files java.util.scanner

我是Java的新手,正在尝试解决初学者在文本文件中计算单词的问题。我想出了下面的代码。但是,当我尝试运行代码时,编译永远不会返回结果。由于我的知识有限,我真的在努力解决这个问题。有人可以帮帮我吗?在此先感谢您的帮助!

public class WordsCount{
    public static void main(String[] args) {
        int countingWords = 0;
        try(Scanner sc1 = new Scanner(new BufferedReader(new FileReader("xanadu.txt")))){
            while(sc1.hasNext()){
                sc1.next();
                countingWords++;
            }
        } catch (FileNotFoundException e){
            System.out.println("File not found");
        }
        System.out.println(countingWords + " words are in the xanadu.txt file");
    }
}



xanadu.txt contents:

In Xanadu did Kubla Khan
A stately pleasure-dome decree:
Where Alph, the sacred river, ran
Through caverns measureless to man
Down to a sunless sea.

1 个答案:

答案 0 :(得分:1)

添加

sc1.next();

在你的while循环中。

我运行你的设置,然后回复25个字。当你连续调用hasNext()而不调用next()时,扫描程序永远不会在缓冲区中向前移动。这就是代码永远不会脱离while循环的原因。