java - 字数统计给出的计数与原始计数不同

标签 java android cpu-word

我在计算文件中的字数时遇到问题。我采取的方法是,当我看到空格或换行符时,我就知道要计算单词数。

问题是,如果我在段落之间有多行,那么我最终也会将它们计为单词。如果您查看 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/

相关文章:

java - 将 HTML 输入日期映射到 Java 对象的 LocalDate

java - crontab 不适用于运行 java 类

java - 将进度微调器添加到应用程序 boolean 值

python - ARINC429 构词法

c - 如何在C中显示单词及其在字符串中出现的次数

C - 如何从文件中获取没有数字、特殊字符(、.?&)的单词?

java - 使用java swing实现计算器时出错

java - Android Java 文件创建 java.io.FileNotFoundException(文件名太长)

android - 有没有推荐的 android adt 模板?

android - Jsoup 和安卓