我有一个int," count"在每次递归后添加一个,但我也有一个if语句,一旦int等于或大于另一个整数就停止递归。不知何故if语句被忽略。
public static boolean wildcard(String x, String y, int substring, int count) {
if (count >= y.length()){
System.out.println("asdf");
return true;
}
if (x.charAt(count) == y.charAt(count)){
System.out.println("ALSKDFJKL");
return wildcard(x, y, substring, count++);
}
if (y.charAt(count) == '*'){
return wildcard(x.substring(substring), y, substring++, count);
System.out.println("wildcard end");
return false;
}
答案 0 :(得分:5)
而不是return wildcard(x, y, substring, count++);
尝试return wildcard(x, y, substring, ++count);
count++
是一个后增量(意味着它将在方法返回后递增)
出于同样的原因,您可能还想更新return wildcard(x.substring(substring), y, substring++, count);
。
此外,您的上一个if
声明已损坏......我认为System.out
和return false
希望超出if
块