我在做一个在线的CPS课程,一个问题需要我编写一个代码来计算字符串中的元音(大写和小写)。这是我的代码:
public static int countVowels( String s )
{
{
if ( s.length() == 0 )
return 0 + countVowels(s);
else if ( (s.substring(0, 1) == "a" ) || (s.substring(0, 1) == "A") )
return 1 + countVowels(s.substring(1));
else if ( (s.substring(0, 1) == "e" ) || (s.substring(0, 1) == "E") )
return 1 + countVowels(s.substring(1));
else if ( (s.substring(0, 1) == "i" ) || (s.substring(0, 1) == "I") )
return 1 + countVowels(s.substring(1));
else if ( (s.substring(0, 1) == "o" ) || (s.substring(0, 1) == "O") )
return 1 + countVowels(s.substring(1));
else if ( (s.substring(0, 1) == "u" ) || (s.substring(0, 1) == "U") )
return 1 + countVowels(s.substring(1));
}
return countVowels(s.substring(1));
}但我得到一个“StackOverFlow”错误,我不知道该怎么办。我知道这个错误意味着没有达到终止条件。我不允许使用任何我还没学过的东西,而且我也不允许使用for或while语句,因为这是一个递归问题。
我能请你帮忙吗?