问题
字符串的开头和断点之间有多少个特定字符的实例?
断点是另一个角色的第一个实例。
例如,我的字符串可能是
h 我需要 h elp!有这个问题!
我希望使用while循环将h
从开头计算到!
,因此输出为2
。
我对java非常陌生,所以我只知道如何使用while循环来计算一定数量,但我不知道如何打破或如何让它只计算一个特定的字符。任何正确方向的提示都会很棒。
我的想法是做一些事情:
while(character equals 'h', count)
else(don't count)
break if(character equals !)
print
但我不知道如何将其转换为java
答案 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, '!');