public static void main(String[] args)
{
String s = "Hello There";
String p = "eo";
int reps = 0;
for (int i=0; i<s.length()-p.length(); i++) //checks all characters in the length of s.length minus the length it's searching for
{
for (int j=0; j<p.length(); j++)
{
if (s.charAt(i+j) == p.charAt(j))
reps++;
}
}
System.out.print(reps);
}
它打印 3 表示 e 和 o 出现的次数,而它应该打印 4。我认为这是因为它在检查“re”后结束了搜索,这意味着它检查了“r”中的“e”, “e”代表“o”。这通常可以工作,但搜索到此结束,如果我尝试修复它,我会出现超出范围的错误。