头歌作业java词频统计输入:用户输入的一行字符串,字符串中包含多个单词,单词之间用空格分隔。 功能:统计每个单词出现的次数。 输出:按字母顺序输出每个单词及其出现的次数。
时间: 2025-06-09 16:00:56 浏览: 25
在Java中,你可以通过以下几个步骤实现头歌作业——字符串词频统计的功能:
1. **接收输入**:首先,创建一个`Scanner`对象从控制台获取用户输入的字符串。
```java
import java.util.Scanner;
public class WordFrequencyCounter {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String inputString = scanner.nextLine();
scanner.close();
}
}
```
2. **拆分单词**:使用`split()`方法将字符串按照空格分割成单词数组。
```java
String[] words = inputString.split("\\s+");
```
这里`\s+`是一个正则表达式,表示匹配一个或多个空白字符,包括空格、制表符等。
3. **初始化频率计数器**:使用HashMap存储每个单词及其出现的次数。键是单词,值是它们的频率(默认初始为0)。
```java
Map<String, Integer> wordCounts = new HashMap<>();
```
4. **遍历并更新频率**:遍历单词数组,对每个单词增加其在`wordCounts`中的计数。
```java
for (String word : words) {
wordCounts.put(word, wordCounts.getOrDefault(word, 0) + 1);
}
```
5. **排序并输出结果**:最后,我们可以使用`Collections.sort()`对Map的键进行自然排序,并遍历输出每个单词及其频率。
```java
import java.util.*;
wordCounts.entrySet().stream()
.sorted(Map.Entry.comparingByKey())
.forEach(entry -> System.out.println("Word: " + entry.getKey() + ", Frequency: " + entry.getValue()));
```
阅读全文
相关推荐



















