Java基础-递归调用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java基础-递归调用相关的知识,希望对你有一定的参考价值。

意义:

递归算法是一种直接或间接地调用自身的算法。在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解。

所以在工作中我们经常用递归 来进行一些算法操作 比如 上传 文件 so 我今天就用 九九乘法表来 做一个实验

首先是 不采用 递归的九九乘法表 

code如下:

public static void main(String[] args) {
for (int k = 1; k <= 9; k++) {
System.out.println();
for (int j = 1; j <= k; j++) {
System.out.print(j+" * "+k+"="+(k*j)+" ");
}
System.out.println();
}
/* hwc(9);*/
}

技术分享

然后是 使用递归的九九乘法表 

code如下:

//采用 递归 打印出九九乘法表
public static void hwc(int i) {
if (i == 1) {
System.out.println("1*1=1 ");
} else {
hwc(i - 1);
for (int j = 1; j <= i; j++) {
//注意这里的打印方式是print 不是println
System.out.print(j + "*" + i + "=" + j * i + " ");
}
System.out.println();
}
}

技术分享

 

核心思想 就是 你给他 一个数 或者通过扫描 一些数  让他反复的进行操作 或者知道 触发 某个 节点 

我给 hwc 穿进去 的是 9 然后 他进行一个 if else 语句的判断 如果 i=1那么 就打印一个1*1=1 就OK

但是其他情况他就要跳转 到else 然后 比如说 他现在传进来的是9 然后减一次 继续操作 其他 的

然后 因为减了一次 还剩下8  传进来又减一次 继续 其他操作 依次 这样 反复的减或者其他炒作 直到 hwc = 1这个时候才会

停止操作. 

 






















以上是关于Java基础-递归调用的主要内容,如果未能解决你的问题,请参考以下文章

Java基础-递归调用

零基础学Java—递归(五十一)

JAVA基础24 递归练习

Java基础------递归(Java实现)

Java基础之方法的调用重载以及简单的递归

java:递归的结构--基础篇