프로그래밍 언어/Java(연습)
재귀 메소드
얗마
2016. 5. 2. 21:06
[주제]
- 재귀 메소드 작동 방식
[중요]
- 탈출할 수 있는 조건이 명확하게 존재해야 함
※ 없을 시 무한 호출 발생
[소스 코딩]
package recursiveClass; public class mainClass { public static void main(String[] args) { /* * [재귀] * - 메소드 자기 자신을 호출 */ int n = 5; if (n <= 0) { System.out.println("n의 값이 올바르지 않습니다"); } else { System.out.println(recursive(n)); } method(2); System.out.println(); for (int i = 0; i < 5; i++) { System.out.println(fibonacci(i)); } } public static int fibonacci(int n) { return (n == 1 || n == 0) ? n : fibonacci(n - 2) + fibonacci(n - 1); } public static int recursive(int n) { System.out.println("recursive n = " + n); return n == 1 ? 1 : n + recursive(n - 1); } public static void method (int n) { System.out.println("method call method (" + n + ")begin"); if (n > 0) { method(n - 1); } System.out.println("method call method (" + n + ")ends"); } } | cs |
■ 실행결과
■ 파일 첨부