재귀 호출
재귀 메소드의 활용.
1. 재귀적 사고는 복잡한 문제를 간결하게 해결하는 열쇠가 된다.
2. 수백 줄 이상의 코드가 요구되는 문제를 불과 수십 줄의 코드로 해결할 수 있다.
재귀 메소드를 활용하기 위한 주의사항.
1. 재귀의 연결 고리를 끊기 위한 조건 검사의 위치가 적절해야 한다.
2. 재귀의 연결 고리를 끊기 위한 조건 검사가 true가 되도록 적절한 연산이 이뤄져야 한다.
-- 재귀 메소드 정의 --
public class Reculfactorial {
public static void main(String[] args) {
System.out.println("3 factorial : " + factorial(3));
System.out.println("12 factorial : " + factorial(12));
}
public static int factorial(int n)
{
if(n==1)
return 1;
else
return n*factorial(n-1);
}
}
수학적 방식의 팩토리얼
5! = 5*4*3*2*1 == 5! = 5 * 4!
4! = 4*3*2*1 == 4! = 4 * 3!
3! = 3*2*1 == 3! = 3 * 2!
2! = 2*1 == 2! = 2 * 1!
1! = 1 = = 1! = 1
-- 잘못된 재귀 메소드의 정의의 예 --
public class InfRecul {
public static void main(String[] args) {
showHi(3);
}
public static void showHi(int cnt)
{
System.out.println("Hi~ ");
showHi(cnt--); //후감소이고 출력후 계속 3으로 초기화 되므로 에러;
if(cnt==1)
return;
}
}
'IT Study > Java' 카테고리의 다른 글
자바 리눅스 루프백 아이피를 알아내는 방법 (0) | 2014.11.28 |
---|---|
자바 인터페이스 요약 정리 (0) | 2014.11.25 |
스트럿츠 프레임워크 (0) | 2014.11.25 |