Java对于给定的文件sample.txt,统计其中单词的个数,以及给定单词出现的次数。
时间: 2023-11-27 15:51:13 浏览: 71
Java统计英文句子中出现次数最多的单词并计算出现次数的方法
可以使用Java中的HashMap来实现单词出现次数的统计。具体实现如下:
```java
import java.io.File;
import java.io.FileNotFoundException;
import java.util.HashMap;
import java.util.Scanner;
public class WordCount {
public static void main(String[] args) {
// 定义一个HashMap来存储单词及其出现次数
HashMap<String, Integer> wordCountMap = new HashMap<>();
try {
// 读取文件内容
Scanner scanner = new Scanner(new File("sample.txt"));
while (scanner.hasNext()) {
String word = scanner.next().toLowerCase(); // 将单词转换为小写字母
// 如果单词已经存在于Map中,则将出现次数加1;否则将单词插入Map并设置出现次数为1
if (wordCountMap.containsKey(word)) {
int count = wordCountMap.get(word);
wordCountMap.put(word, count + 1);
} else {
wordCountMap.put(word, 1);
}
}
scanner.close();
// 输出单词个数
int wordCount = wordCountMap.keySet().size();
System.out.println("单词个数为:" + wordCount);
// 输出给定单词出现次数
String givenWord = "apple"; // 假设给定的单词为apple
int givenWordCount = wordCountMap.getOrDefault(givenWord, 0);
System.out.println(givenWord + "出现次数为:" + givenWordCount);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
```
其中,我们使用Scanner对象来读取文件内容,并使用HashMap来存储单词及其出现次数。在读取单词时,我们将其转换为小写字母,这样可以避免不同大小写的单词被认为是不同的单词。最后,我们通过调用keySet方法来获取Map中所有的键,从而得到单词个数;通过调用getOrDefault方法来获取给定单词的出现次数,如果该单词不存在于Map中,则返回默认值0。
阅读全文