0

メソッドで再帰を使用しようとしていますが、私のメソッドは次のようになります。

public int recursion(int start) {

if(start >= 1)
    recursion(start-1);

return start;

}

ただし、メソッド「再帰」が見つからないというエラーが表示されます。助言がありますか?:)

乾杯!

4

1 に答える 1

6

コードの唯一の問題は、 の値を返せないことですrecursion(start - 1)。それでも、コンパイル エラーではなくロジックの問題です。

以下は私にとってはうまくコンパイルされます:

public int recursion(int start) {
    if (start >= 1)
        return recursion(start - 1);
    return start;

}

したがって、問題は別の場所にあります。

説明したエラーが発生した場合は、それrecursion()を呼び出そうとしたときに綴りを間違えたか、あるクラスで定義したのに別のクラスのコンテキストで呼び出そうとした可能性があります。

編集コメントのコードは次のとおりです。

public class recursion1 {
    public int rec1(int start) {
        if (start >= 1)
            return recl(start - 1);
        return start;
    }

    public static void main(String[] args) {
        recursion1 test = new recursion1();
        System.out.println(test.recl(5));
    }
}

メソッドは「rec1」(rec- one )と呼ばれ、「recl」(rec- ell )と呼んでいます。

于 2013-03-13T09:00:13.880 に答える