我正在尝试编写一个方法,该方法返回 char c 首次在 s 中连续出现的次数,即使它是该字符的单次出现。即使是空格也会打破连续计数。所以字符串“我不擅长编程”。如果 char c 是“a”,则应该只返回 1。
下面的代码编译但不打印正确的答案。只是在处理这个问题时显示我的一般逻辑。
public class WordCount
{
public int countRun( String s, char c )
{
int counter = 0;
for( int i = 0; i < s.length(); i++)
/*There should be other conditions here that checks for first
appearance consecutively. I've tried my fair share, but no
luck on getting correct results.*/
{
if( s.charAt(i) == c )
{
counter += 1;
}
}
return counter;
}
public static void main( String args[] )
{
WordCount x = new WordCount();
System.out.println( x.countRun( "Add dog", 'd' ) ); //should return 2
System.out.println( x.countRun( "Add dog", 'D' ) ); //should return 0
System.out.println( x.countRun( "Hope you're happy", 'p' )); //should return 1
System.out.println( x.countRun( "CCCCCcccC", 'C' )); //should return 5
}
}
我只需要一些指针(逻辑或代码)。也许有一种我以前从未见过的字符串方法可以使我的程序更简单。我在编程和 Java 方面的知识非常有限。
编辑:对于任何想知道这是否是一些家庭作业的一部分或诸如此类的人,这是一个非常古老的期中考试的问题。我弄错了,但由于某种原因,但当时从未费心要求正确答案。我今天看了看,想看看我是否知道答案。好像我没有