我在计算文件中的字数时遇到问题。我采取的方法是,当我看到空格或换行符时,我就知道要计算单词数。
问题是,如果我在段落之间有多行,那么我最终也会将它们计为单词。如果您查看 readFile()
方法,您就可以看到我在做什么。
您能帮助我并指导我如何解决这个问题吗?
输入文件示例(包括空行):
word word word
word word
word word word
我尝试了下面的代码并能够打印字数..
File file = new File("sample.txt");
Scanner sc = new Scanner(new FileInputStream(file));
int count=0;
while(sc.hasNext()){
sc.next();
count++;
}
System.out.println("Number of words: " + count);
但有时它给出的字数统计是不同的。我检查了 Ms Office 中的字数统计和程序语法值(上面的代码给出了错误的字数统计,因为它计算了所有样式、调整等。)
我应该如何实现这一点。
如有任何帮助,我将不胜感激
最佳答案
附上您的阅读内容,在这种情况下:
if(!Character.isWhitespace(sc.next().charAt(0)))
count++
或者甚至更好:
if(!sc.next().isEmpty())
count++
关于java - 字数统计给出的计数与原始计数不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30706498/