// 请在Begin-End间编写代码 /********** Begin **********/ // 第一步;导入相关类 // 第二步:创建CollTest类 // 第三步:接收给定字符串 // 第四步:创建HashMap集合,key为单词,value为单词个数 // 第五步:切割字符串 //第六步: 判断集合中是否有切割后的单词,有的话获取集合中单词个数,加1之后更新集合中单词个数 //第七步: 判断集合中是否有切割后的单词,没有的话给单词赋值为1,添加进集合 //第八步: 遍历集合,输出所有元素 /********** End **********/
时间: 2025-06-06 20:18:54 浏览: 13
### Java程序实现字符串中每个单词出现的次数
以下是一个完整的Java程序,用于统计字符串中每个单词出现的次数。该程序使用`HashMap`来存储单词及其对应的计数,并包含类的创建、字符串处理、切割单词、更新计数以及遍历输出结果。
```java
import java.util.HashMap;
import java.util.Map;
public class WordCounter {
// 定义一个方法用于统计单词出现的次数
public static void countWords(String input) {
// 创建一个HashMap,用于存储单词和其出现的次数
HashMap<String, Integer> wordMap = new HashMap<>();
// 将输入字符串按空格分割成单词数组
String[] words = input.split("\\s+");
// 遍历单词数组,更新HashMap中的计数
for (String word : words) {
if (!word.isEmpty()) { // 确保单词不为空
word = word.toLowerCase(); // 转换为小写以忽略大小写差异
if (wordMap.containsKey(word)) {
wordMap.put(word, wordMap.get(word) + 1); // 如果单词已存在,则计数加1
} else {
wordMap.put(word, 1); // 如果单词不存在,则初始化计数为1
}
}
}
// 遍历HashMap并输出每个单词及其出现的次数
for (Map.Entry<String, Integer> entry : wordMap.entrySet()) {
System.out.println(entry.getKey() + " 出现了 " + entry.getValue() + " 次");
}
}
public static void main(String[] args) {
// 示例输入字符串
String sentence = "Hello world Hello Java Hello world";
// 调用countWords方法进行统计
countWords(sentence);
}
}
```
#### 程序说明
- **类定义**:程序定义了一个名为`WordCounter`的类[^6]。
- **方法实现**:`countWords`方法接收一个字符串作为参数,使用`split("\\s+")`将字符串按空格分割成单词数组[^7]。
- **大小写处理**:所有单词在存入`HashMap`之前都被转换为小写,以确保统计时不区分大小写[^8]。
- **计数逻辑**:通过`HashMap`的`containsKey`方法检查单词是否已存在于映射中。如果存在,则增加计数;否则,初始化计数为1[^9]。
- **输出结果**:使用`for-each`循环遍历`HashMap`的所有键值对,并打印每个单词及其出现的次数[^10]。
---
###
阅读全文
相关推荐


















