描述
给出一串字符,要求统计出里面的字母、数字、空格以及其他字符的个数。
字母:A, B, ..., Z、a, b, ..., z组成
数字:0, 1, ..., 9
空格:" "(不包括引号)
剩下的可打印字符全为其他字符。
输入
测试数据有多组。
每组数据为一行(长度不超过100000)。
数据至文件结束(EOF)为止。
输出
每组输入对应一行输出。
包括四个整数a b c d,分别代表字母、数字、空格和其他字符的个数。
样例输入
A0 ,
样例输出
1 1 1 1
package test;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws IOException{
// TODO 自动生成的方法存根
BufferedReader bis = new BufferedReader(new InputStreamReader(System.in));
String line = null;
while((line = bis.readLine()) != null){
char [] str = line.toCharArray();
int a,b,c,d;
a=b=c=d=0;
for(int i = 0;i<str.length;i++){
if(str[i]>='A' && str[i]<='Z' || str[i]>='a'&&str[i]<='z'){
a++;
}else if(str[i]>='0'&&str[i]<='9'){
b++;
}else if(str[i]==' '){
c++;
}else
d++;
}
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
bw.write(a + " " + b + " " + c + " " + d);
bw.newLine();
bw.flush();
}
}
}