이 기사의 예는 Java의 원리를 분석합니다. 참조를 위해 모든 사람을 위해 공유하십시오. 특정 분석은 다음과 같습니다.
설명 : 자체 프로그래밍 기술을 호출하는 프로그램을 재귀라고합니다.
자체 프로그래밍 기술을 호출하는 프로그램을 재귀라고합니다. 알고리즘으로서의 재귀는 프로그래밍 언어에서 널리 사용됩니다. 하나의 프로세스 또는 기능은 정의 또는 지침에서 직접 또는 간접적으로 호출하는 방법이 있습니다 문제 해결 프로세스에 필요한 다중 반복 계산을 설명하기 위해 프로그램 코드가 크게 줄어 듭니다. 재발하는 기능은 제한된 문장을 가진 무제한 객체 모음을 정의하는 것입니다.
재귀의 세 가지 조건 :
경계 조건 재귀 고급 세그먼트 경계 조건이 충족되지 않으면 경계 조건이 충족되면 재귀 리턴.
다음 두 가지 샘플 프로그램에 대해 설명합니다.
Java 코드를 사용하여 주문 5를 찾으십시오. (5*4*3*2*1의 5 단계)
/*** 계산 5 (결과 = 5*4*3*2*1)*@저자 pplsunny ****/public class test01 {public static void main (String [] args) {system.out.prin tln ( tln (f (5));} public static int f (int n) {if (1 == n) 반환 1;
이 질문에서 재귀의 세 가지 조건에 따라 분석하십시오.
(1) 경계 조건 : 스텝 승수, 마지막 숫자, 즉 1, 1, 리턴 1, 프로그램 실행이 끝까지 곱하기;
(2) 재귀 전면 섹션 : 현재 매개 변수가 1과 같지 않은 경우 계속해서 자신을 부릅니다.
(3) 재귀 반환 섹션 : 현재 매개 변수가 5, 5*4, 5*(5-1), 즉 N*(N-1) 인 경우 최대 수에서 시작합니다.
Java 코드를 사용하여 숫자를 찾으십시오 : 1, 1, 2, 3, 5, 8 ...... 40 번째 숫자
/ ** * 찾기 번호 : 1,1,2,3,5,8 ... 40 번째 숫자 * @author pplsunny * */ public class test_fibonacci {public static void main (String [] args) {System.out. println (f (f (6));} public static int f (int n) {if (1 == n || 2 == n) 반환 1; 그렇지 않으면 f (n-) + f (n-2) 반환 ;}}
이 질문의 돌파구는 다음과 같습니다. 3 자리에서 시작하여 숫자는 처음 두 자리의 합입니다. 숫자 값을 계산하려면 숫자를 매개 변수로 계산해야합니다.
(1) 우선, 숫자 수가 1 및 2 인 경우, 반환 된 현재 값은 1이어야합니다.
(2) 그러면 숫자 수가 3 인 경우 반환 값은 = 2 = 1+1이어야합니다.
숫자가 4 인 경우 반환 값 = 3 = 2+1;
숫자가 5 인 경우 리턴 값 = 5 = 3+2;
숫자가 6 인 경우 반환 값 = 8 = 5+3;
... ...
(3) (2)에서, 그것이 3보다 많거나 같을 때, 현재 디지털 (n) = f (n-1)+f (n-2)의 값을 알게 될 때.
경험 : 일부 초보자는 재귀가 스스로를 부르는 것이라고 생각할 수도 있습니다. 그렇습니다. 재귀 적 글쓰기가 불합리하다면 그것은 죽음의주기입니다. 그러나 작문이 합리적이고 "경계 조건"이라면 프로그램이 끝까지 실행되면 레이어로 레이어를 반환합니다. 우리가 산을 등반하는 것처럼, 우리는 산 꼭대기가없는 층을 타기 위해 산 도로를 타고 올라갑니다. 그러나 산 꼭대기에 도달하면 산을 올라갈 때 계단을 올라갑니다.
이 기사는 모든 사람의 Java 프로그램 설계에 도움이되기를 바랍니다.