public class CountChar {
private static int lowerCount = 0, upperCount = 0, otherCount = 0;
public static void main(String[] args) {
String str = new String("AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789~!@#$%^&*()_+-=`|'");
useCharAt(str);
useIndexOf(str);
useIsLowerOrUpper(str);
}
private static void useCharAt(String str) {
char c;
lowerCount = 0;
upperCount = 0;
otherCount = 0;
for (int i = 0; i < str.length(); i++) {
c = str.charAt(i);
if (c >= 'a' && c <= 'z') {
lowerCount++;
} else if (c >= 'A' && c <= 'Z') {
upperCount++;
} else {
otherCount++;
}
}
System.out.println("lowerCount:" + lowerCount + " upperCount:" + upperCount + " otherCount:" + otherCount);
}
private static void useIndexOf(String str) {
char c;
lowerCount = 0;
upperCount = 0;
otherCount = 0;
String lowerStr = "abcdefghijklmnopqrstuvwxyz";
String upperStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
for (int i = 0; i < str.length(); i++) {
c = str.charAt(i);
if (lowerStr.indexOf(c) != -1) {
lowerCount++;
} else if (upperStr.indexOf(c) != -1) {
upperCount++;
} else {
otherCount++;
}
}
System.out.println("lowerCount:" + lowerCount + " upperCount:" + upperCount + " otherCount:" + otherCount);
}
private static void useIsLowerOrUpper(String str) {
char c;
lowerCount = 0;
upperCount = 0;
otherCount = 0;
for (int i = 0; i < str.length(); i++) {
c = str.charAt(i);
if (Character.isLowerCase(c)) {
lowerCount++;
} else if (Character.isUpperCase(c)) {
upperCount++;
} else {
otherCount++;
}
}
System.out.println("lowerCount:" + lowerCount + " upperCount:" + upperCount + " otherCount:" + otherCount);
}
}