利用Java语言代码输入一行字符分别统计其中英文字母、空格、数字和其他字符的个数。

2024-11-09 04:53:25
推荐回答(1个)
回答1:

123456789101112131415161718192021222324

public static void main(String[] args) throws IOException {        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));        String str=br.readLine();         int countNum = 0;//统计数字的个数        int countChar = 0;//统计英文字母的个数        int countSpace = 0;//统计空格的个数        int countOthers = 0;//统计其它字符的个数        for (int i = 0; i < str.length(); i++) {            char c = str.charAt(i);            if (c >= '0' && (int) c <= '9') {                countNum++;            } else if ((c >= 'a' && c <= 'z')||(c >= 'A' && c <= 'Z')) {                countChar++;            } else if (c == ' ') {                countSpace++;            } else{                countOthers++;            }        }        System.out.println("数字个数:"+countNum);        System.out.println("英文字母个数:"+countChar);        System.out.println("空格个数:"+countSpace);        System.out.println("其他字符个数:"+countOthers);    }

一、问题分析:

输入一行字母,那么会以换行结束。所以可以存入数组,也可以逐个输入,遇到换行结束。

要统计各个类的个数,就要逐个判断是哪个分类的。

由于在ASCII码中,数字,大写字母,小写字母分别连续,所以可以根据边界值判断类型。

二、算法设计:

1、读入字符,直到遇到换行结束。

2、对于每个字符,判断是字母还是数字,或者空格,或者是其它字符。

3、对于每个字符判断后,对应类别计数器自加。

4、最终输出结果。