第1个回答 2009-12-13
这个没有办法,SCANNER就是有这个问题的。
只要你输入有空格,他会到空格就结束。
要解决这个问题,只能用IO来解决。
参考以下:
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数
注意不能用Scanner,Scanner遇空格就结束
import java.io.*;
public class Test {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(
new InputStreamReader(System.in));
String str;
try {
str = reader.readLine();
int letter=0;
int space=0;
int number=0;
int other=0;
for (int i = 0; i < str.length(); i++) {
if (Character.isLetter(str.charAt(i))) {
letter++;
}else if(Character.isSpaceChar(str.charAt(i))){
space++;
}else if(Character.isDigit(str.charAt(i))){
number++;
}else {
other++;
}
}
System.out.println(letter);
System.out.println(space);
System.out.println(number);
System.out.println(other);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
我QQ158971310,可以一起讨论