计算角色' e'

时间:2014-03-13 04:31:54

标签: java character

您好我必须创建一个接收单词消息的方法,并计算字符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);



 }

}

3 个答案:

答案 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;
}