题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
程序分析:利用while 语句,条件为输入的字符不为'\n'.
import java.util.*; public class Problem07 {
//题目:输入一行字符,分别统计出其中英文字母ch、
//空格blank、数字num和其它字符other的个数。
//程序分析:利用while语句,条件为输入的字符不为'\n'.
public static void main(String args[]) {
int ch=0, blank=0, num=0, other=0;
System.out.println("请输入一行字符:");
Scanner s = new Scanner(System.in);
String str = s.nextLine();
//System.out.println(str);
//将输入的字符串转换为字符数组
char[] cha=str.toCharArray();
// System.out.println(cha.length); int index = 0;
while(cha[index] != '\n' && index<(cha.length-1)) {
//判断是否为英文字符
if(('a'<=cha[index] && cha[index]<='z') || ('A'<=cha[index] && cha[index]<='Z')) {
ch++;
}
//判断是否为空格
else if(cha[index]==' ') {
blank++;
}
//判断是否为数字
else if('0'<=cha[index] && cha[index]<='9') {
num++;
}
else
//其他字符
other++; index++;
} System.out.println("英文字符数:"+ch);
System.out.println("空格个数:"+blank);
System.out.println("数字字符数:"+num);
System.out.println("其他字符数:"+other);
s.close();
}
}
输出结果:
请输入一行字符:
hello world this is No.7 talking
英文字符数:24
空格个数:5
数字字符数:1
其他字符数:1