我正在进行单词匹配递归,但是遇到了问题。我有一个 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"));
}
}
当你运行它时,它会打印“运行这个方法”,但是它会返回 false,当它应该返回 true 时......有人可以告诉我是什么原因造成的以及我将如何解决它?