这里提供一个案例,仅供参考,这种可以多实操一下,问题不大的。
public class StringNum {
public static void main(String[] args) {
String str= "Shen_g_CaiXia_!666";
System.out.println("一共有"+str.length()+"个字符");
System.out.println("大写字母的个数:"+upperCount(str));
System.out.println("小写字母的个数:"+lowerCount(str));
System.out.println("数字字符的个数:"+numberCount(str));
int otherCount=str.length()-upperCount(str)-lowerCount(str)-numberCount(str);
System.out.println("其他字符的个数:"+otherCount);
}
public static int upperCount(String str) {//统计字符串中大写字母的个数
String strUpper = str.toLowerCase();
char[] chars = str.toCharArray();
char[] charsUpper = strUpper.toCharArray();
int count = 0;
for (int i = 0; i < str.length(); i++) {
if (chars[i] != charsUpper[i]) {
count++;
}
}
return count;
}
public static int lowerCount(String str) {//统计字符串中小写字母的个数
String strLower = str.toUpperCase();
char[] chars = str.toCharArray();
char[] charsUpper = strLower.toCharArray();
int count = 0;
for (int i = 0; i < str.length(); i++) {
if (chars[i] != charsUpper[i]) {
count++;
}
}
return count;
}
public static int numberCount(String str) {//统计字符串中数字字符的个数
char[] chars = str.toCharArray();
int count = 0;
for (int i = 0; i < str.length(); i++) {
if (chars[i] >='0'&&chars[i]<= '9') {
count++;
}
}
return count;
}
}