利用Map集合进行单词词频的统计,扩展程序功能,要求统计输出输入单词的个数、每个单词的词频
时间: 2023-06-04 09:02:21 浏览: 75
好的,我可以帮您解答这个问题。以下是一个利用Map集合进行单词词频统计的Java代码示例:
```
import java.util.*;
public class WordFrequencyCounter {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入文本:");
String text = scanner.nextLine();
Map<String, Integer> map = new HashMap<>();
String[] words = text.split("\\s+"); // 以空白字符分隔单词
for (String word : words) {
map.put(word, map.getOrDefault(word, 0) + 1); // 统计每个单词的词频
}
System.out.println("总单词数:" + words.length);
System.out.println("不同单词数:" + map.size());
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + ":" + entry.getValue()); // 输出每个单词的词频
}
}
}
```
该程序首先提示用户输入文本,然后通过Scanner类读取用户输入的文本。接着,程序将文本按照空白字符分隔成单词,并利用Map集合统计每个单词的词频。最后,程序输出总单词数、不同单词数以及每个单词的词频。
您也可以扩展该程序,让它支持输入单词并输出该单词的词频,只需在读取用户输入后,统计输入单词的词频即可。