使用布尔值的Java初学者递归

时间:2017-02-03 18:18:53

标签: java if-statement recursion boolean

我不明白为什么我会得到"返回陈述缺失"。

这是带有代码的图像:
enter image description here

4 个答案:

答案 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))