Java 统计输入字符的英文字母、空格、数字和其他字符可以使用字符流的方式读取输入,然后通过判断每个字符的 Unicode code point 值来区分字符类型,再统计出每种类型的字符个数。下面是具体实现的完整攻略。
实现步骤
- 创建一个字符缓冲区的读取器 BufferedReader,从标准输入读取输入等。
- 循环读取每个字符,直到读到输入流末尾。
- 对于每个字符,判断其 Unicode code point 值的范围,统计出它属于哪种类型的字符。
- 最后输出每种类型的字符个数。
以下是具体代码实现。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class CharTypeCount {
public static void main(String[] args) throws IOException {
// 创建缓冲区读取器
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
// 初始化统计变量
int letterCnt = 0, spaceCnt = 0, digitCnt = 0, otherCnt = 0;
// 循环读取每个字符
int ch;
while ((ch = reader.read()) != -1) {
// 判断属于哪种类型的字符
if (Character.isLetter(ch)) {
letterCnt++;
} else if (Character.isWhitespace(ch)) {
spaceCnt++;
} else if (Character.isDigit(ch)) {
digitCnt++;
} else {
otherCnt++;
}
}
// 输出每种类型的字符个数
System.out.println("Letter: " + letterCnt);
System.out.println("Space: " + spaceCnt);
System.out.println("Digit: " + digitCnt);
System.out.println("Other: " + otherCnt);
}
}
示例说明
示例1
输入:
Hello, world!
输出:
Letter: 10
Space: 1
Digit: 0
Other: 1
解释:
该输入包含 10 个字母、1 个空格和 1 个其他字符。
示例2
输入:
123 456
输出:
Letter: 0
Space: 2
Digit: 6
Other: 0
解释:
该输入包含 2 个空格和 6 个数字。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java统计输入字符的英文字母、空格、数字和其它 - Python技术站