我的想法:通过Asci码值来进行判断
1. 将输入的值转为char数组
2. 将数组中值一个一个提取出,将其强制转换为int的值,这个值就是Asci值
3. 用取得的值进行判断,知道它是什么类型的
代码:(我还没学键盘输入输出,直接用一个str代替,方法是一样的:
- public class AnsiTest {
- public static void main(String[] args) {
- String str = "sAdfe15809";
- getAsciNum(str);
- }
- public static void getAsciNum(String str){
- int num = 0;//数字计数
- int capital = 0;//大写计数
- int lowerCase =0;//小写计数
- char[] c = str.toCharArray();//转为char数组
- //逐个提取出char数组中的值进行判断
- for (int i = 0; i < c.length; i++) {
- //通过asci编码值进行判断
- if((int)c[i]>=48 && (int)c[i]<=57)
- num++;
- if((int)c[i]>=65 && (int)c[i]<=90)
- capital++;
- if((int)c[i]>=97 && (int)c[i]<=122)
- lowerCase++;
- }
- System.out.println("数字:"+num+";大写字母:"+capital+";小写字母:"+lowerCase);
- }
- }
复制代码 |