您好我必须创建一个接收单词消息的方法,并计算字符e出现的次数这是我所拥有的但我总是得到0.任何建议?
public class run
{
public static void main(String[] args)
{
String message ="message";
int count=0;
for(int i=0; i>=message.length()-1;i++)
{
char ch = message.charAt(i);
char e='e';
if( ch == e)
{
count = count +1;
}
}
System.out.println(count);
}
}
答案 0 :(得分:4)
for(int i=0; i>=message.length()-1;i++)
这永远不会进入循环(除了一些短消息边缘情况,然后它会在循环中停留很长一段时间),因为你有错误的比较意义。你需要:
for (int i = 0; i < message.length(); i++)
而且你真的不需要那些额外的变量,这样做会很好:
int count = 0;
for (int i = 0; i < message.length(); i++)
if (message.charAt(i) == 'e')
count++;
答案 1 :(得分:0)
这是另一个递归方法:
public int countE(String str) {
int count = 0;
if (str.charAt(0) == 'e')
count++;
if (str.length() > 1) {
count += countE (str.substring(1));
}
return count;
}
答案 2 :(得分:-1)
这是一个递归解决方案:
public static int countChar (String message, char e)
{
int charOccurences = 0;
for (int i = 0 ; i < message.length () ; i++)
{
if (message.charAt (i) == e)
{
charOccurences++;
message = message.substring (0, i) + message.substring (i + 1);
return charOccurences + countChar (message, e);
}
}
return charOccurences;
}