用Java写、题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

用Java写、题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

这题怎么做啊 ?

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class zifu {
public static void main(String[] args) {
System.out.println("请输入:(结束请按回车)");
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br= new BufferedReader(isr);
String s = "";
try
{
s = br.readLine();
} catch(IOException E)
{
System.out.println("IOException");
}
count(s);
}

private static void count(String i) {
// TODO Auto-generated method stub
int zimu=0,kongge=0,shuzi=0,qita=0;
for(char m : i.toCharArray() ){
if((m >=65&&m<=90)||(m>=97&&m<=122)){
zimu++;
}else if(m==32){
kongge++;
}else if(m>=48&&m<=57){
shuzi++;
}else{
qita++;
}
}
System.out.println("字母的个数"+zimu);
System.out.println("空格的个数"+kongge);
System.out.println("数字的个数"+shuzi);
System.out.println("其他的个数"+qita);
}

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-23
public static void main(String []args){
int ch=0;
int nu=0;
int blank=0;
int ot=0;
String st = JOptionPane.showInputDialog("请输入字符串");
for(int i=0;i<st.length();i++){
char n=st.charAt(i);
if(n>='0'&&n<='9')nu++;
else if((n>='a'&n<='z')||(n>='A'&n<='Z'))ch++;
else if(n==' ')blank++;
else ot++;
}

System.out.println("数字:"+nu);
System.out.println("字母:"+ch);
System.out.println("空格:"+blank);
System.out.println("其他:"+ot);
}追问

我想再问一句、您能否用正则表达式帮我写一个?

第2个回答  2013-10-23
百度文库里有,真傻
第3个回答  2013-10-23
baidu搜索面试题目,这个是面试题。 很多的。
相似回答