为什么字符串中的字符不计算在内?

时间:2015-07-09 02:34:06

标签: java

我制作了一个程序来计算一个字符串中的字母数字字符的数量,我在一个测试用例中失败,其中任何输入的形式为" as(中间没有任何空格)der"是打印3而不是5.我不知道原因是什么?

以下是我的SourceCode

import java.util.Scanner;
class CharCount
{ 
 static int Count=0;
 static int charcount()
{  
   System.out.println("Enter the String");

    Scanner sc=new Scanner(System.in);
    String userString=sc.next();
    char ch[]=userString.toCharArray();


    for(int i=0;i<ch.length;)
    {
     if(ch[i]>=65&&ch[i]<=122||ch[i]==32)
     {
       if(ch[i]==32)
       {
          i++;
       }
       else
       {
        Count++;
        i++;
       }
     }

    else
    {
      System.out.println("Enter only alphabetical characters");
      break;
    }
   }
  System.out.println("Alphabetical characters till date is");
  return Count;
}

public static void main(String s[])
 { 
   charcount();

 }
}
}

1 个答案:

答案 0 :(得分:0)

问题在于这句话:

EventSource

当输入中有空格时,它只会读取第一个单词。你需要

String userString=sc.next();