再帰に一致する単語を作成中ですが、問題が発生しました。ステートメントが true の場合に true を返す if ステートメントがあります。system.print 行をテストして、実際に正しく実行されたかどうかを確認します。ただし、メソッドが true を返すと想定されている場合は、false を返します。わかりにくい場合は申し訳ありませんが、私のコードがそれを解決してくれることを願っています。
public class A10 {
public static int counter = 3;
public static boolean match(String x, String y) {
// If the x string's letter at place 'counter' is the same as y string's letter at place counter.
if ((counter) >= x.length()) {
System.out.println("RUNNING THIS METHOD");
return true;
}
if (x.charAt(counter) == y.charAt(counter)) {
counter++;
match(x, y);
}
return false;
}
public static void main(String[] args) {
System.out.println(match("asdfasdf", "asdfasdf"));
}
}
実行すると、「RUNNING THIS METHOD」と出力されますが、true を返すはずのときに false が返されます... 誰かがこれの原因と修正方法を教えてもらえますか?