我制作了一个程序来计算一个字符串中的字母数字字符的数量,我在一个测试用例中失败,其中任何输入的形式为" 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();
}
}
}
答案 0 :(得分:0)
问题在于这句话:
EventSource
当输入中有空格时,它只会读取第一个单词。你需要
String userString=sc.next();