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);
}
e と o が表示される回数が 3 であるのに、4 が表示されるはずです。これは、「re」をチェックした後に検索を終了しているためだと考えました。つまり、「e」に対して「r」をチェックしたことになります。 「o」の場合は「e」。これは通常は機能しますが、検索はここで終了し、修正しようとすると範囲外エラーが発生します。