设计一个程序,输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。Java编写
时间: 2024-11-23 10:25:10 浏览: 0
汇编语言统计从键盘输入一段字母
5星 · 资源好评率100%
为了实现这样一个功能,我们可以创建一个简单的Java程序,使用`Scanner`类读取用户输入,然后遍历输入的字符,通过条件判断统计各类字符的数量。这里是一个示例代码:
```java
import java.util.Scanner;
import java.util.HashMap;
import java.util.Map;
public class CharacterCounter {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一行字符:");
// 读取一行输入
String line = input.nextLine();
// 创建一个Map来存储字符类型的计数
Map<Character, Integer> counts = new HashMap<>();
counts.put(' ', 0); // 初始化空格计数为0
counts.put('.', 0); // 初始化其他字符类型计数为0
counts.put(0, 0); // 初始化数字计数为0,因为我们使用ASCII码来代表数字
// 遍历字符,并更新计数
for (char c : line.toCharArray()) {
if (Character.isLetter(c)) {
counts.put(c, counts.getOrDefault(c, 0) + 1); // 对字母计数
} else if (Character.isDigit(c)) {
counts.put((int) c, counts.getOrDefault((int) c, 0) + 1); // 对数字计数
} else if (c == ' ') {
counts.put(' ', counts.getOrDefault(' ', 0) + 1); // 对空格计数
} else {
counts.put('.', counts.getOrDefault('.', 0) + 1); // 对其他字符计数
}
}
// 输出结果
System.out.println("英文字母: " + counts.get('a') + "(假设所有字母都从'a'开始计数)");
System.out.println("空格: " + counts.get(' '));
System.out.println("数字: " + counts.get((int) '0'));
System.out.println("其他字符: " + counts.get('.'));
}
}
```
这个程序会统计输入行中各个字符类型的数量。注意这里假设所有英文字符都从'a'开始计数,实际应用中可以根据需求进行调整。
阅读全文