我不明白为什么我会得到"返回陈述缺失"。
这是带有代码的图像:
答案 0 :(得分:1)
在你的第2和第3条件中,如果没有回报。而不是你的其他人,只需返回false。
所以它写着:
public class isTrans {
public static boolean isTrans(String s,String t) {
if (t.length()==1 && (s.charAt(s.length()-1))==t.charAt(0)){
return true;
} else if (s.charAt(0)==t.charAt(0)){
return isTrans(s,t.substring(1));
} else if (s.charAt(1)==t.charAt(1)){
return isTrans(s,t.substring(1), t);
}
return false;
}
}
答案 1 :(得分:0)
在这种情况下,您必须返回所有条件或在方法结束时返回。
答案 2 :(得分:0)
if(/*...*/) {
return true;
}
else if(/*...*/) {
return isTrans(/*...*/); // return whatever isTrans returns
}
else if(/*...*/) {
return isTrans(/*...*/); // here too
}
else {
return false;
}
答案 3 :(得分:0)
您必须在else if
中返回函数执行的结果,以便递归正常工作。像这样:
return isTrans(s, t.substring(1))