JAVA中如何统计输入的一大段内容中不同符号的个数(字母、数字或其他的各种符号,其中字母不分大小写)输出格式:A 5,C 2,* 3……
时间: 2024-09-15 10:14:21 浏览: 51
在Java中,你可以使用`java.util.HashMap`来统计字符串中不同符号的个数。以下是一个简单的步骤示例:
1. 创建一个HashMap,键(key)代表符号,值(value)初始设为0,用于存储每种符号出现的次数。
```java
Map<Character, Integer> symbolCount = new HashMap<>();
```
2. 遍历输入的大段内容,对于每个字符,检查它是否已经存在于HashMap中,如果存在,则增加其计数值;如果不存在,则添加新的键值对。
```java
String input = "your_large_input_string";
for (char c : input.toCharArray()) {
if (Character.isLetterOrDigit(c)) { // 如果是字母或数字
char lowerCased = Character.toLowerCase(c); // 转换为小写以区分大小写
symbolCount.put(lowerCased, symbolCount.getOrDefault(lowerCased, 0) + 1);
} else {
symbolCount.put(c, symbolCount.getOrDefault(c, 0) + 1); // 对其他非字母数字的符号也做统计
}
}
```
3. 输出结果。遍历HashMap,按照指定的格式打印每个符号及其对应的次数。
```java
StringBuilder outputBuilder = new StringBuilder();
for (Map.Entry<Character, Integer> entry : symbolCount.entrySet()) {
String symbol = Character.toString(entry.getKey());
int count = entry.getValue();
outputBuilder.append(symbol).append(' ').append(count).append(',').append('\n');
}
// 移除最后一个逗号
outputBuilder.setLength(outputBuilder.length() - 1);
System.out.println(outputBuilder.toString());
```
注意,这个例子假设你想忽略大小写并只计算字母和数字。如果你想包括所有特殊字符,只需去掉`Character.isLetterOrDigit()`条件判断即可。
阅读全文