https://print-blue.tistory.com/139
주의 : 재귀 호출을 잘못 호출하면 무한루프에 빠질 수 있음
public class MethodQuiz03 {
// [ 방법 2 ] ================================
// 재귀 호출 (메소드 안에서 호출하는 것을 뜻함)
// 왜 되는지 생각하기
public static int factorial(int num) {
if (num == 1) {
return 1;
} else {
System.out.println("factorial(" + num + ")");
return num * factorial(num-1); // num이 1이 아닌 경우 다시 호출해서 num -1 하여 다시 대입
// 3 * factorial(2) * factorial(1) = 3 * 2 * 1
}
}
public static void main(String[] args) {
// [ 메소드 호출 ]
System.out.println("3! = " + factorial(3));
}
}
'Language > JAVA' 카테고리의 다른 글
JAVA 프로그래밍 기초 연습 문제 - 클래스 정의 후 main 메소드에서 호출하기 (0) | 2024.04.05 |
---|---|
JAVA 프로그래밍 기초 연습 문제 - class 안에 정의하지 않고, 메서드 정의하기 (0) | 2024.04.05 |
JAVA 프로그래밍 기초 연습 문제 - 메소드 정의 후 호출하여 정수 1개를 받아 패토리얼 값 출력 (1) | 2024.04.04 |
JAVA 프로그래밍 기초 연습 문제 - 메소드 정의 후 호출하여 정수 1개를 받아 제곱값 출력 (0) | 2024.04.04 |
JAVA 프로그래밍 기초 연습 문제 - 메소드 정의 후 호출하여 정수 2개를 받아 누적합 출력 (0) | 2024.04.04 |