递归使用案例:输出对称图形
来源:互联网 发布:一维数组定义 编辑:程序博客网 时间:2024/06/09 23:53
要求:在控制台下输出如下图形
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函数的作用仅仅如此。
在Demotest3中,run()函数的作用是输出菱形,它调用了我们刚刚写的Returnnum函数,因为菱形上下部分的结构上对称的用递归加上我们刚刚实现的函数可以轻松实现输出菱形。
0 0
- 递归使用案例:输出对称图形
- 【递归输出图形】POJ_1941
- 编写一个求菲波那奇数列的递归函数,输入n值,使用该递归函数,输出图形。
- (简单递归3.3.1)POJ 2013 Symmetric Order(对称输出)
- 输入n值,使用递归函数,求杨辉三角形中各个位置上的值,打印输出图形。
- poj 1941 递归输出图形(Sierpinski Fractal)
- 使用递归输出树形目录
- 使用递归 输出文件树
- 使用递归反向输出字符串
- C++:使用循环输出各种图形
- 递归案例
- 输出图形
- 输出图形
- 输出图形
- 图形输出
- 输出图形
- 判断一个图形是否为对称图形
- CodeForces - 426B(对称图形)
- 欢迎使用CSDN-markdown编辑器
- linux ---套接字
- 文件读写(JDK7)
- linux学习
- hdu 5979 Convex
- 递归使用案例:输出对称图形
- arm汇编指令学习记录3
- 套接字
- LAMP环境安装所需的一些软件包下载地址整理
- 从零开始的RxJava2.0教程(二)操作符
- Hello world
- cocos2d+js入门学习(包括mac和windows环境配置)
- Android Studio com.android.dex.DexException: Multiple dex files define(重复引用包)
- HTML_16_jquery_动画,事件