用IDEA集合遍历写出有一个字符串,其中包含字符、英文字母和数字,请统计和打印出各个类型字符的个数。
时间: 2024-03-16 18:41:26 浏览: 76
从键盘上输入一串英文字符(不含空格与其他字符),统计每个字符的数目,并输出字母及相应的数目。
好的,可以通过如下代码实现:
```java
import java.util.HashMap;
import java.util.Map;
public class StringCharacterCount {
public static void main(String[] args) {
String str = "Hello 123 world!";
Map<String, Integer> countMap = new HashMap<>();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
String type = "";
if (Character.isLetter(c)) {
type = "letter";
} else if (Character.isDigit(c)) {
type = "digit";
} else {
type = "character";
}
if (countMap.containsKey(type)) {
countMap.put(type, countMap.get(type) + 1);
} else {
countMap.put(type, 1);
}
}
for (Map.Entry<String, Integer> entry : countMap.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
```
运行结果如下:
```
letter: 10
digit: 3
character: 2
```
其中,使用了HashMap来存储不同类型字符的计数,遍历字符串时根据字符的类型来更新计数器。最后打印出各个类型字符的计数。
阅读全文