public class P17 {
public static void main(String[] args) {
int abcCount=0;//英文字母个数
int spaceCount=0;//空格键个数
int numCount=0;//数字个数
int otherCount=0;//其他字符个数
Scanner scan=new Scanner(System.in);
System.out.println("输入一行字符");
String str=scan.nextLine();
char[] ch = str.toCharArray();//把字符串转为char字符数组;
for(int i=0;i<ch.length;i++){
if(Character.isLetter(ch[i])){
//判断是否字母
abcCount++;
}
else if(Character.isDigit(ch[i])){
//判断是否数字,数字为个位数
numCount++;
}
else if(Character.isSpaceChar(ch[i])){
//判断是否空格键
spaceCount++;
}
else{
//以上都不是则认为是其他字符
otherCount++;
}
}
System.out.println("字母个数:"+abcCount);
System.out.println("数字个数:"+numCount);
System.out.println("空格个数:"+spaceCount);
System.out.println("其他字符个数:"+otherCount);
}
}
/*输入一行字符
55 2 a & A
字母个数:2
数字个数:3
空格个数:4
其他字符个数:1*/
/*isLetter() 方法用于判断指定字符是否为字母。
语法
boolean isLetter(char ch)
参数
ch -- 要测试的字符。
返回值
如果字符为字母,则返回 true;否则返回 false。
实例
public class Test {
public static void main(String args[]) {
System.out.println(Character.isLetter('c'));
System.out.println(Character.isLetter('5'));
}
}
以上程序执行结果为:
true
false*/