利用Map集合进行单词词频的统计,扩展程序功能,要求统计输出输入单词的个数、每个单词的词频
时间: 2024-03-12 09:48:50 浏览: 61
好的,这是一个简单的Java程序,我们可以利用Map集合统计单词的词频,以下是代码实现:
```java
import java.util.*;
public class WordCount {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一段英文文本:");
String text = scanner.nextLine();
// 将文本转换为小写并去除标点符号
text = text.toLowerCase().replaceAll("[^a-zA-Z ]", "");
// 将文本按空格分割为单词数组
String[] words = text.split("\\s+");
// 使用HashMap统计单词词频
Map<String, Integer> wordFreq = new HashMap<>();
for (String word : words) {
if (wordFreq.containsKey(word)) {
wordFreq.put(word, wordFreq.get(word) + 1);
} else {
wordFreq.put(word, 1);
}
}
// 输出单词个数和每个单词的词频
System.out.println("输入单词个数:" + words.length);
for (Map.Entry<String, Integer> entry : wordFreq.entrySet()) {
System.out.println(entry.getKey() + " 出现次数:" + entry.getValue());
}
}
}
```
这个程序首先让用户输入一段英文文本,然后将文本转换为小写并去除标点符号,接着将文本按空格分割为单词数组。然后使用HashMap统计每个单词的词频,最后输出单词个数和每个单词的词频。
阅读全文