题解 | #统计字符#
统计字符
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; } }