【求助】为什么我的代码里统计不出来空格的个数?谢谢!

C4706 2017-05-12 10:50:26
代码如下,感谢解答,谢谢!
/**
* 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
*/
@Test
public void test6(){
Scanner s = new Scanner(System.in);
String str = s.next();

char[] charArray = str.toCharArray();
int countEnglish=0;//存放英文字符的个数
int countNumber=0;//存放数字的个数
int countBackSpace=0;//存放空格的个数
int countOther=0;//存放其他字符的个数

for(int i = 0; i< charArray.length; i++){
char k = charArray[i];
if((k >= 'A' && k <= 'Z') || (k>='a' && k<='z')){
countEnglish++;
}else if(k>='0' && k<='9'){
countNumber++;
}else if(k == ' '){
countBackSpace++;
}else{
countOther++;
}
}
System.out.println("英文字符的个数为:"+ countEnglish);
System.out.println("数字字符的个数为:"+ countNumber);
System.out.println("空格字符的个数为:"+ countBackSpace);
System.out.println("其他字符的个数为:"+ countOther);

s.close();
}
...全文
184 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
李德胜1995 2017-05-12
  • 打赏
  • 举报
回复
s.next();改为 s.nextLine();。。。。
云墨浅殇 2017-05-12
  • 打赏
  • 举报
回复
next方法不能得到带空格的字符串而nextLine()方法的结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符
xingyuner2 2017-05-12
  • 打赏
  • 举报
回复
顶一楼,一楼正解。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧