我正在努力找出我的代码中的错误在哪里;

这是我的测试:

@Test
public void testCountOccurences()
{
    assertEquals(1, sc1.countOccurences("ence"));
    assertEquals(2, sc1.countOccurences("en"));
    assertEquals(1, sc2.countOccurences("that"));
    assertEquals(0, sc2.countOccurences("This"));
}


这是我的方法:

public int countOccurences(String t)
{
    int j = 0;
    int i;
    for(i = 0; i < sentence.length(); i++)
    {
         String subString = sentence.substring(i, i + t.length());
         if(subString.equals(t))
            {
                j++;
            }
    }
    return j;
}

最佳答案

我将假设您正在做此练习。

看来您要离开原始字串的结尾。

尝试将for(i = 0; i < sentence.length(); i++)更改为for(i = 0; i < sentence.length() - t.length(); i++)

09-10 14:52