题解 | #统计字符#
统计字符
https://www.nowcoder.com/practice/539054b4c33b4776bc350155f7abd8f5
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
String s=in.nextLine();
int count1=0,count2=0,count3=0,count4=0;
for(int i=0;i<s.length();i++){
switch(whitch(s.charAt(i))) {
case 1: count1++;break;
case 2: count2++;break;
case 3: count3++;break;
case 4: count4++;break;
}
}
System.out.println(count1);
System.out.println(count2);
System.out.println(count3);
System.out.println(count4);
}
public static int whitch(char c){
Pattern p1=Pattern.compile("[A-Za-z]");
Matcher m1=p1.matcher(String.valueOf(c));
Pattern p2=Pattern.compile(" ");
Matcher m2=p2.matcher(String.valueOf(c));
Pattern p3=Pattern.compile("[0-9]");
Matcher m3=p3.matcher(String.valueOf(c));
if(m1.matches()){
return 1;//英文字符
}
else if(m2.matches()){
return 2;
}
else if(m3.matches()){
return 3;
}
else return 4;
}
}
查看6道真题和解析