直接上代码
public class TestJava { public static void main(String[] args) { String a = "289r3f950tioperj02ek@!&*%@^!*&%!@o4tu90werjik294uewfji"; exeAlpNum_one(a); System.out.println("==============="); exeAlpNum_two(a); } /** * 判断字母/数字/其它各有多少(ONE) * charAt()方法、for循环和ASCII码 * charAt(int index)返回下标位的字符 * * @param a */ public static void exeAlpNum_one(String a) { int number = 0;//数字 int alphabet = 0;//字母 int other = 0;//其他 for (int i = 0; i < a.length(); i++) { if ((a.charAt(i) >= 'a' && a.charAt(i) <= 'z') || (a.charAt(i) >= 'A' && a.charAt(i) <= 'Z')) { alphabet++; } else if ((a.charAt(i) >= '0' && a.charAt(i) <= '9')) { number++; } else { other++; } } System.out.println("字母数量:" + alphabet + " 数字数量:" + number + " 其它:" + other); } /** * 判断字母/数字/其它各有多少(TWO) * toCharArray()方法、Character内置静态方法isLetter()和isDigit()和foreach函数 * char[] chs = s1.toCharArray(); // 把字符串转换为字符数组 * Character.isLetter(ch)//判断是不是数字 * Character.isDigit(ch)//判断是不是字母 * * @param a */ public static void exeAlpNum_two(String a) { int numnum = 0;//数字 int strnum = 0;//字母 int othernum = 0;//其它 char[] chs = a.toCharArray(); for (char ch : chs) { if (Character.isLetter(ch)) { strnum++; } else if (Character.isDigit(ch)) { numnum++; } else { othernum++; } } System.out.println("字母数量:" + strnum + " 数字数量:" + numnum + " 其它:" + othernum); } }