题目:分别统计字符串中英文、空格、数字以及其他字符的个数
代码:
import java.util.Scanner;
public class Main {
/**
* 统计出英文字母字符的个数。
*
* @param str
* 需要输入的字符串
* @return 英文字母的个数
*/
public static int getEnglishCharCount(String str) {
int num_English = 0;
for (int i = 0; i < str.length(); i++) {
// 基本数据类型可以==来判断,引用类型用equals()
char c = str.charAt(i);
if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))
num_English++;
}
return num_English;
}
/**
* 统计出空格字符的个数。
*
* @param str
* 需要输入的字符串
* @return 空格的个数
*/
public static int getBlankCharCount(String str) {
int Blank_English = 0;
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (c == ' ')
Blank_English++;
}
return Blank_English;
}
/**
* 统计出数字字符的个数。
*
* @param str
* 需要输入的字符串
* @return 英文字母的个数
*/
public static int getNumberCharCount(String str) {
int num_Number = 0;
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (c >= '0' && c <= '9')
num_Number++;
}
return num_Number;
}
/**
* 统计出其它字符的个数。
*
* @param str
* 需要输入的字符串
* @return 英文字母的个数
*/
public static int getOtherCharCount(String str) {
int english_Num = getEnglishCharCount(str);
int blank_Num = getBlankCharCount(str);
int number_Num = getNumberCharCount(str);
return (str.length() - english_Num - blank_Num - number_Num);
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String Str = input.nextLine();
System.out.println(getEnglishCharCount(Str));
System.out.println(getBlankCharCount(Str));
System.out.println(getNumberCharCount(Str));
System.out.println(getOtherCharCount(Str));
}
}