一、题目
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数
二、题思路
利用ASCLL码解决此题:
32 表示空格;48-57表示数字字符;65-90 大写字母集;97-122小写字母集
三、代码实现
package basic.example;
import java.util.Scanner;
/**
* Description: 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数
*
* @author Eric
* @date 2022/3/28
* @version 1.0
*
* <pre>
* 修改记录:
* 修改后版本 修改人 修改日期 修改内容
* 2022/3/28 Eric 2022/3/28 Create
* </pre>
*
*/
public class BasicFor07 {
/**
* 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数
*
* 利用ASCLL码解决此题:
*
* 32 表示空格;48~57表示数字字符;65~90 大写字母集;97~122小写字母集;
* @param args
*/
public static void main(String[] args) {
int chars = 0, nums = 0, emp = 0, others = 0;
Scanner scanner = new Scanner(System.in);
System.out.println("请输入任意字符串:");
String targetChar = scanner.nextLine();
for (int i = 0; i < targetChar.length(); i++) {
char ch = targetChar.charAt(i);
if ((ch >= 65 && ch <= 90) || (ch >= 97 && ch <= 122)) {
++chars;
} else if (ch >= 48 && ch <= 57) {
++nums;
} else if (ch == 32) {
++emp;
}else{
++others;
}
}
System.out.println("英文字符:" + chars + " 个");
System.out.println("数字字符:" + nums + " 个");
System.out.println("空格字符:" + emp + " 个");
System.out.println("其它字符:" + others + " 个");
}
}