从键盘输入以空格分隔的英文单词和数字字符串,请设计一个程序对输入的字符串楼空格进行分,分隔后的结果采用ashMap统计,以单词和数字作为关键词,统计每个单词和数字出现的次数,并输出出现两次以上的词的计数(单词不区分大小写)。
时间: 2024-12-21 19:22:10 浏览: 2
chongfu.rar_Java字符串空格_单词统计_统计单词
为了实现这个功能,你可以使用Java编写一个简单的程序。下面是一个步骤说明以及对应的代码示例:
1. 首先,我们需要一个`Scanner`类来接收用户输入:
```java
import java.util.Scanner;
```
2. 然后创建一个`HashMap`来存储单词和数字及其出现次数,键值对的形式可以是`(String word, Integer count)`:
```java
import java.util.HashMap;
import java.util.Map;
Map<String, Integer> wordCountMap = new HashMap<>();
```
3. 接下来,创建一个`main`函数,接收用户输入并处理:
```java
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入以空格分隔的英文单词和数字字符串:");
String input = scanner.nextLine();
String[] tokens = input.split("\\s+"); // 使用正则表达式分割字符串,\\s+匹配一个或多个空格
for (String token : tokens) {
if (!token.isEmpty()) { // 检查是否为空或仅包含空格
String lowercaseToken = token.toLowerCase(); // 将单词转为小写进行统一比较
if (wordCountMap.containsKey(lowercaseToken)) {
wordCountMap.put(lowercaseToken, wordCountMap.get(lowercaseToken) + 1);
} else {
wordCountMap.put(lowercaseToken, 1);
}
}
}
// 打印出现两次及以上的单词
System.out.println("出现两次以上(包括两次)的单词及其计数:");
for (Map.Entry<String, Integer> entry : wordCountMap.entrySet()) {
if (entry.getValue() >= 2) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
scanner.close();
}
```
4. 当用户输入完成后,程序会统计并输出出现两次及以上次数的单词。
运行此程序,它会等待用户的输入,然后分析并输出满足条件的结果。
阅读全文