私は「Think Java:コンピュータ科学者のように考える方法」という本を読んでいます。最近は再帰的メソッドについても取り上げました。再帰的なJavaメソッドを復習する
public static void countdown(int n)
{
if (n == 0) {
System.out.println("Blastoff!");
} else {
System.out.println(n);
countdown(n - 1);
}
}
これが0にカウントダウンするために使用される通常の再帰的な方法だろうと私は何が起こっているかを理解していますが、この
public static void countdown(int n)
{
if (n == 0) {
System.out.println("Blastoff!");
} else {
countdown(n - 1);
System.out.println(n);
}
}
ようにするSystem.out.println前に、再帰呼び出しを行う場合それは反対の方法を数えるので、もし私がこれらの条件文の両方に対して3つの引数を与えたら、第1のものは "3,2,1、Blastoff"になります。しかし、2番目の1は "Blastoff、1,2,3"になります。これがどのように機能するのか分かりません。このコードで何が起きているのかを説明しようとする人は、逆に数えることができますか?
は、第一の方法ラインとしてのprintlnを置きます。 – RominaV