Java 搜索文本文件中的单词并返回其频率

Java 搜索文本文件中的单词并返回其频率,java,Java,如何在包含单词文本的文本文件中搜索特定单词并返回其出现频率 读这些 读取文件中的每一行。看 您可以使用检查该行是否包含要查找的单词 如果找到该字,则递增int计数器 使用扫描仪: String text = "Question : how to search for a particular word in a " + "text file containing texts of words and return its " + "frequency or

如何在包含单词文本的文本文件中搜索特定单词并返回其出现频率

读这些

  • 读取文件中的每一行。看
  • 您可以使用检查该行是否包含要查找的单词
  • 如果找到该字,则递增int计数器
使用扫描仪:

String text = "Question : how to search for a particular word in a " +
        "text file containing texts of words and return its " +
        "frequency or occurrences ?";

String word = "a";

int totalCount = 0;
int wordCount = 0;
Scanner s = new Scanner(text);
while (s.hasNext()) {
    totalCount++;
    if (s.next().equals(word)) wordCount++;
}

System.out.println("Word count:  " + wordCount);
System.out.println("Total count: " + totalCount);
System.out.printf("Frequency:   %.2f", (double) wordCount / totalCount);
输出:

Word count:  2
Total count: 24
Frequency:   0.08

到目前为止你都做了些什么?这是一个相当普遍的家庭作业。我相信如果你四处搜索,你会找到很多解决方案。我尝试过使用树形图,但它会返回文本中的整个单词,并显示为单词数组和单个单词的频率。现在,我想让程序提示用户输入所需的单词,并仅返回单词和特定单词的频率。您好,谢谢您的示例。我正在使用您的概念并在代码中实现。谢谢我现在正试图找出如何使字符串处理文本文件,而不是只处理几个字符串。与其将
text
传递给scanner构造函数,不如传递一个文件。嗨,谢谢。我知道了。非常感谢你的建议。我很感激。:)嗨,很抱歉打扰你。有些单词在文本中只出现一次,但程序返回频率为0。你能给我个建议吗?哦,对不起,我的意思是字数是0。尽管我在文本中查看自己有一个单词,但程序在单词计数中返回0。