我正在努力找出我的代码中的错误在哪里;
这是我的测试:
@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++)
。