티스토리 뷰

[주제]

- 재귀 메소드 작동 방식



[중요]

- 탈출할 수 있는 조건이 명확하게 존재해야 함

  ※ 없을 시 무한 호출 발생



[소스 코딩]

 
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



■ 실행결과



■ 파일 첨부

mainClass.java


'프로그래밍 언어 > Java(연습)' 카테고리의 다른 글

file2(버퍼 클래스)  (0) 2016.05.02
file  (0) 2016.05.02
try, catch, finally  (0) 2016.05.02
블랙잭 게임(메소드 연습)  (2) 2016.05.02
야구게임(메소드 연습)  (0) 2016.04.30
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함