ありませんreturn文は、私のコードの抜粋です:エラーのループに陥っ:到達不能文と、ここで
public static int dc (String s,int k, int c){
String s1, s2;
int m, n;
if (check(s, k) != -1) {
int p = check(s, k);
c++;
s1 = s.substring(0, p) + s.substring(p + 1);
s2 = s.substring(0, p + 1) + s.substring(p + 2);
if ((check(s1, k) == -1) || (check(s2, k) == -1)) {
return c;
} else {
m = dc(s1, k, c);
n = dc(s2, k, c);
if (m > n) {
return n;
} else {
return m;
}
}
}
}
ので、エラーが不足しているreturn文があることを述べている(ではない私が持っているシナリオを確認してください逃した)。しかし、最後にreturnステートメントを追加すると、returnステートメントが到達不能であることが示されます。私はここで役に立つ答えを見つけました:Unreachable return statement still throws errorと私はtry catchブロックに入れようとしましたが、それでもreturn文を要求します。コンパイラは、最後に書いたものが重複していることを知っていますが、なぜそれでもエラーを表示していますか?
このメソッドは、どのブランチでも 'return'ステートメントが欠けていません。おそらく問題はあなたの 'check'メソッドにありますか?そのコードを含めることができますか? – Mureinik
最初のif条件がfalseの場合、最後にreturnステートメントが必要です。適切なインデントを使用すると、あなたの人生はより簡単になります。 – Eran
checkが-1でない場合にのみ、このメソッドにコードが入ります。コード全体を投稿する必要がありますか? – Rohinb97