재 귀적 사용 사례:대칭 도형 출력
2233 단어 JAVASE
1 121 12321 1234321
1 121 12321 1234321 12321 121 1
두 도형 이 모두 대칭 적 이기 때문에 재 귀적 으로 쉽게 이 루어 집 니 다.아래 에 코드 를 붙 입 니 다.
Demotest:
import java.util.Scanner;
public class Demotest{
public static int i = 1;
public static void Returnnum(int num,int up )
{
if(num == 1)
{
System.out.print(up);
return ;
}
else if(num == 0)
{
System.out.print(num);
return ;
}
else
{
System.out.print(up);
Returnnum(num - 1,up + 1);
System.out.print(up);
}
return ;
}
public static void main(String[] args)
{
System.out.print(" 2-9 :");
int row = new Scanner(System.in).nextInt();
for (int i = 0; i < row; i++)
{
for (int k = 0; k < row-i-1; k++)
{
System.out.print(" ");
}
Returnnum(i+1,1);
System.out.println();
}
}
}
Demotest3:
import java.util.Scanner;
public class Demotest3{
public static int i = 1;
public static void Returnnum(int num,int up )
{
if(num == 1)
{
System.out.print(up);
return ;
}
else if(num == 0)
{
return ;
}
else
{
System.out.print(up);
Returnnum(num - 1,up + 1);
System.out.print(up);
}
return ;
}
public static void run(int num,int up)
{
if(num == 0)
{
return ;
}else{
for(int i = 0; i< num;i++)
{
System.out.print(" ");
}
Returnnum(up,1);
System.out.println();
run(num - 1,up + 1);
for(int i = 0; i< num+1 ;i++)
{
System.out.print(" ");
}
Returnnum(up-1,1);
System.out.println();
}
}
public static void main(String[] args)
{
System.out.print(" (3 9 ) :");
int num = new Scanner(System.in).nextInt();
run(num,1);
}
}
Demotest 에서 하나의 방법 Returnnum()을 정 의 했 습 니 다.그 역할 은 회 문 수 를 출력 하 는 것 입 니 다.첫 번 째 매개 변 수 는 회 문 수의 최대 수치 입 니 다.두 번 째 매개 변 수 는 수치 몇 부터(보통 1)를 대표 합 니 다.예 를 들 어 실행 함수 Returnnum(5,1)은 123454321 을 출력 합 니 다.Returnnum 함수 의 역할 은 이 정도 입 니 다.
Demotest 3 에서 run()함수 의 역할 은 마름모꼴 을 출력 하 는 것 입 니 다.이것 은 우리 가 방금 쓴 Returnnum 함 수 를 호출 했 습 니 다.마름모꼴 상하 부분의 구조 상 대칭 적 인 재 귀 와 우리 가 방금 실현 한 함 수 를 더 하면 마름모꼴 을 쉽게 출력 할 수 있 기 때 문 입 니 다.