描述

输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数。

本题包含多组输入。

数据范围:输入的字符串长度满足 1 \le n \le 1000 \1n1000 

输入描述:

输入一行字符串,可以有空格

输出描述:

统计其中英文字符,空格字符,数字字符,其他字符的个数

示例1

输入:
1qazxsw23 edcvfr45tgbn hy67uj m,ki89ol.\\/;p0-=\\][
复制
输出:
26
3
10
12

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        while(sc.hasNext()){
            int count1=0,count2=0,count3=0,count4=0;
            String str=sc.nextLine();
            for(int i=0;i<str.length();i++){
                char c=str.charAt(i);
                if(Character.isLetter(c)){
                    count1++;
                }else if(Character.isSpaceChar(c)){
                    count2++;
                }else if(Character.isDigit(c)){
                    count3++;
                }else{
                    count4++;
                }
            }
            System.out.println(count1);
            System.out.println(count2);
            System.out.println(count3);
            System.out.println(count4);
        }

    }
}


答案2:
  public static void test2(){
        Scanner sc=new Scanner(System.in);
        while(sc.hasNext()){
            String str=sc.nextLine();
            String s1=str.replaceAll("[A-Z]+|[a-z]+", "");
            System.out.println(str.length()-s1.length());//字母个数
            String s2=s1.replaceAll(" ", "");
            System.out.println(s1.length()-s2.length());//空白字符个数
            String s3=s2.replaceAll("[0-9]+", "");
            System.out.println(s2.length()-s3.length()+"\n"+s3.length());//数字个数+其它字符个数
        }