使用while循环计算java中字符串中的实例

时间:2016-01-30 20:19:07

标签: java string while-loop break do-while

问题

字符串的开头和断点之间有多少个特定字符的实例?

断点是另一个角色的第一个实例。

例如,我的字符串可能是

  

h 我需要 h elp!有这个问题!

我希望使用while循环将h从开头计算到!,因此输出为2

我对java非常陌生,所以我只知道如何使用while循环来计算一定数量,但我不知道如何打破或如何让它只计算一个特定的字符。任何正确方向的提示都会很棒。

我的想法是做一些事情:

while(character equals 'h', count)
else(don't count)
break if(character equals !)
print

但我不知道如何将其转换为java

1 个答案:

答案 0 :(得分:2)

以下是快速代码段:

/**
 * Method Name: countChars
 * Arguments: 4 (Original String, Character to be found, Start Index, 
 *               Stop/Terminate Character)
 * Returns: Character Count
**/
public int countChars(String str, char c, int start, char e) {
     char[] chr = str.toCharArray();
     /* Initialize Count Counter */
     int count = 0;

     /* Initialize Counter With Start Index */
     int i = start;
     /* Iterate String For Positive Matches */
     while(i < chr.length) {
          /* Core Logic */
          if(chr[i] == e) {
               /* Terminate Character Found : Break Loop */
               break;
          } else if(chr[i] == c) {
               /* Match Found : Increment The Counter */
               count++;
          }
          /* Increment Loop Counter */
          ++i;
     }

     /* Return Character Count */
     return count;
}

您可以按如下方式调用此方法:

int count = countChars(myString, 's', 0, '!');