java输入一行字符,分别统计其中的英文字母,空格,数字和其他字符的个数
时间: 2024-10-26 11:16:16 浏览: 18
python 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数 (示例)
5星 · 资源好评率100%
在 Java 中,你可以使用 `Scanner` 类配合字符串的遍历方法来统计输入行中的各种字符类型。以下是一个简单的示例:
```java
import java.util.Scanner;
public class CharacterCounter {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一行字符:");
String input = scanner.nextLine();
int alphaCount = countAlpha(input);
int spaceCount = countSpaces(input);
int digitCount = countDigits(input);
int otherCount = countOthers(input);
System.out.println("字母数量:" + alphaCount);
System.out.println("空格数量:" + spaceCount);
System.out.println("数字数量:" + digitCount);
System.out.println("其他字符数量:" + otherCount);
// 统计函数定义
private static int countAlpha(String str) {
return str.chars().filter(Character::isLetter).count();
}
private static int countSpaces(String str) {
return str.split("\\s+").length - 1; // 减一是因为首尾可能包含空格
}
private static int countDigits(String str) {
return str.chars().filter(Character::isDigit).count();
}
private static int countOthers(String str) {
return str.length() - (alphaCount + spaceCount + digitCount);
}
}
}
```
在这个程序中,我们首先读取用户输入,然后分别计算字母、空格、数字的数量。`countAlpha`、`countSpaces` 和 `countDigits` 都通过 `chars()` 方法获取字符流并过滤出特定类型的字符。最后,`countOthers` 计算剩余的所有非字母、非空格和非数字字符。
阅读全文