Java 输入一行字符,分别统计出大写字母、小写字母、空格、数字 和其它字符的个数。
时间: 2024-10-16 16:14:50 浏览: 32
在Java中,你可以使用`Scanner`类从用户输入获取一行字符,然后遍历这个字符串,利用`Character`类的各种常量和方法来进行统计。以下是一个简单的示例程序:
```java
import java.util.Scanner;
import java.util.HashMap;
public class CharacterCount {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一行字符:");
String input = scanner.nextLine();
// 初始化一个HashMap来存储字符种类及其计数
HashMap<Character, Integer> counts = new HashMap<>();
counts.put('A', 'Z', 0); // 大写字母
counts.put('a', 'z', 0); // 小写字母
counts.put(' ', 0); // 空格
counts.put('\d', 0); // 数字
counts.put('.', '-'); // 其它字符 (这里以点和破折号为例)
// 遍历输入字符串并更新计数
for (char c : input.toCharArray()) {
if (Character.isUpperCase(c)) {
counts.merge('A', 'Z', Integer::sum);
} else if (Character.isLowerCase(c)) {
counts.merge('a', 'z', Integer::sum);
} else if (c == ' ') {
counts.put(' ', counts.get(' ') + 1);
} else if (Character.isDigit(c)) {
counts.put('\d', counts.get('\d') + 1);
} else {
counts.put('.', counts.get('.') + 1); // 如果遇到其他字符,更新对应键值
}
}
// 输出统计结果
System.out.println("大写字母数量: " + counts.get('A'));
System.out.println("小写字母数量: " + counts.get('a'));
System.out.println("空格数量: " + counts.get(' '));
System.out.println("数字数量: " + counts.get('\d'));
System.out.println("其它字符数量: " + counts.get('.'));
}
}
```
阅读全文