私は最近、数学的に意味をなさない再帰の話題になった。この作業では、「99ビール・オブ・ザ・ウォール」の曲を再帰的に印刷する必要がありました。これは、エラーは、プログラムが起こって再帰的サブ構造を認識していないようだということで、私がこれまで持っているもの"Beer Bottles" Recursion Java
public static int bottlesOfBeer(int n) {
if (n > 1) {
System.out.println(n + "bottles of beer on the wall, " + n + " bottles of beer.");
System.out.println("You take one down, pass it around. " + (n-1) + "bottles of beer on the wall.");
bottlesOfBeer(n-1);
} else {
return;
}
}
です。私はそれがなぜそれを認識していないのか知りたいです。私はこれが宿題であることにも注意しなければならないので、正しい方向へのちょっとした振りは私が尋ねるものです。
"再帰的部分構造を認識できません"とはどういう意味ですか?このコードの出力は何ですか?デバッガでステップバイステップを実行すると、動作は期待どおりに異なりますか? – David
メソッドのシグネチャは、intを返すことを示します。あなたのメソッドでintを返すことは決してありません。 – njzk2
あなたはたぶん 'return 0;'または戻り値の型を 'void 'に変更するべきです –