Я не понимаю, почему я получаю «return statement missing».Java Beginner Recursion with boolean
Вот изображение с кодом:
Я не понимаю, почему я получаю «return statement missing».Java Beginner Recursion with boolean
Вот изображение с кодом:
В вашем 2-е и 3-е, если условия нет возвращения. Вместо вашего else, просто верните 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;
}
}
В этом случае вы должны вернуться во всех условиях или вернуться в конце метода.
if(/*...*/) {
return true;
}
else if(/*...*/) {
return isTrans(/*...*/); // return whatever isTrans returns
}
else if(/*...*/) {
return isTrans(/*...*/); // here too
}
else {
return false;
}
Хотя вы, возможно, решили проблему этого пользователя, ответы на код не очень помогают пользователям, которые приходят к этому вопросу в будущем. Измените свой ответ, чтобы объяснить, почему ваш код решает исходную проблему. –
Вы должны вернуть результат выполнения функции в вашем else if
, так что рекурсия работает должным образом. Например:
return isTrans(s, t.substring(1))
Все пути не возвращают значение .... –
Вы должны что-то вернуть в условие elseif. –
Пожалуйста, приложите код как текст, а не как изображение. Это было бы намного проще, если бы другие читали –