나는 "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 번 인수를 주면 첫 번째 것은 "3, 2, 1, Blastoff"가됩니다. 그러나 제 2의 1은 "Blastoff, 1, 2, 3"이됩니다 ... 나는 이것이 어떻게 작동하는지 이해하지 못합니다. 누군가이 코드에서 일어나는 일을 설명하려고 노력할 수 있습니까?
더 나은 첫 번째 방법 라인으로 println 메소드를 넣어, 어떻게 작동하는지 이해합니다. – RominaV