编写java程序:输入一个字符串,判断有几个英文字母,有几个数字,有几个其它的字符

程序越简洁越高效越好...

public class Main {
public static void main(String args[]){
String str1="abfdTE1879!!";//可以从控制台输入
String str2=str1.replaceAll("[a-z|A-Z]","");
System.out.println("英文字符的个数为"+(str1.length()-str2.length()));
str1=str2;
str2=str1.replaceAll("[0-9]","");
System.out.println("数字字符的个数为"+(str1.length()-str2.length()));
System.out.println("其它字符的个数为"+str2.length());
}
}
这是最简洁的
运行示例:
英文字符的个数为6
数字字符的个数为4
其它字符的个数为2
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-17
public static void main(String[] args) {

int count_abc=0,count_num=0,count_oth=0;
//输入一串数
Scanner scan=new Scanner(System.in);
String str = scan.next();
char[] chars = str.toCharArray();
//判断每个字符
for(int i = 0;i<chars.length;i++){
if((chars[i]>=65&&chars[i]<=90)||(chars[i]>=97&&chars[i]<=122)){
count_abc++;
}else if(chars[i]>=48&&chars[i]<=57){
count_num++;
}else{
count_oth++;
}
}
System.out.println("字母有:"+count_abc+"个");
System.out.println("数字有:"+count_num+"个");
System.out.println("其他的有:"+count_oth+"个");
}本回答被提问者和网友采纳
第2个回答  2011-10-17
public static void main(String[] args) {
// TODO Auto-generated method stub
int abcCount=0;//英文字母个数
int spaceCount=0;//空格键个数
int numCount=0;//数字个数
int otherCount=0;//其他字符个数
Scanner scan=new Scanner(System.in);
String str=scan.nextLine();
char[] ch = str.toCharArray();
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);
}
第3个回答  2011-10-17
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
String getMess=scan.nextLine();
int zm=0;
int num=0;
int other=0;
char [] ch = getMess.toCharArray();
for(int i=0;i<ch.length;i++){
if((ch[i]>='a' && ch[i]<='z') || (ch[i]>='A' && ch[i]<='Z')){
zm=zm+1;
}else if(ch[i]>47 && ch[i]<58){
num=num+1;
}else{
other=other+1;
}
}
System.out.println("字母:"+zm);
System.out.println("数字:"+num);
System.out.println("其它:"+other);
}
相似回答