解题思路:(1)一行字符先转换成单个字符的数组,用toCharArray方法;(2)对每个字符依次使用equals方法,可以用于比较比较,如果找到了相应的记录加一。错了,字符串才能使用equals方法,应该是==‘ ’
代码:public class Main5 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
String string = input.next();
caculate(string);
}
public static void caculate(String string){
int a = 0,b=0,c=0,d=0;
char[] m = string.toCharArray();
for(int i=0;i<m.length;i++){
// if(" ".equals(m[i])){//空格
// a++;
// }
if(m[i]==' '){
a++;
}
else if(m[i]>'A'&&m[i]<'z'){//英文字母
b++;
}
else if(m[i]>='0'&&m[i]<='9'){//数字
c++;
}
else{
d++;
}
}
System.out.println("空格的个数是:"+a);
System.out.println("英文字母的个数是:"+b);
System.out.println("数字的个数是:"+c);
System.out.println("其他字符的个数是:"+d);
}
}