题目描述
输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。
输入
一行字符,长度不超过200
输出
统计值
样例输入
aklsjflj123 sadf918u324 asdf91u32oasdf/.';123
样例输出
23 16 2 4
//方法一:
package parctice;
import java.util.Scanner;
public class ph1012 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String st=sc.nextLine();
char[] ch=st.toCharArray();
int letter=0,numb=0,space=0,other=0;
for (int i = 0; i < ch.length; i++) {
// 定义字母的范围
if (ch[i]>='a'&&ch[i]<='z'||ch[i]<='Z'&&ch[i]>='A') {
letter++;
// 定义数值的范围
}else if (ch[i]>='0'&&ch[i]<='9') {
numb++;
}else if (ch[i]==' ') {
space++;
}else {
other++;
}
}
System.out.println(letter+" "+numb+" "+space+" "+other);
}
}
方法二
package parctice;
import java.util.Scanner;
public class ph1012 {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String st=sc.nextLine();
char[] ch=st.toCharArray();
int letter=0,numb=0,space=0,other=0;
for (int i = 0; i < ch.length; i++) {
// 利用Character类的方法直接计算
if (Character.isLetter(ch[i])) {
letter++;
}else if (Character.isDigit(ch[i])) {
numb++;
}else if (Character.isWhitespace(ch[i])) {
space++;
}else {
other++;
}
}
System.out.println(letter+" "+numb+" "+space+" "+other);
}
}