九九乘法表用一个双重循环可以轻松实现
今天想用递归实现一下
代码
public class MuiltTable {
public static void main(String[] args) {
printTab(9);
}
/**
*
* @param x
*/
public static void printTab(int x) {
//递归头
if (x == 1) {
System.out.println("1*1=1");
return;
}
printTab(x - 1);
//第x行
for (int i = 1; i <= x; i++) {
System.out.print(i + "*" + x + "=" + i * x + "\t");
}
System.out.println();
}
}
递归分析
递归体
九九乘法表共有九行 所以在定义函数时,需要传入一个打印第几行的变量x,
public static void printTab(int x) {
}
以第9行为例都是n*9,而n是从1到9 每次加一,所以可以用一个循环实现
//第x行
for (int i = 1; i <= x; i++) {
System.out.print(i + "*" + x + "=" + i * x + "\t");
}
System.out.println();
打印第八行也一样 (9-1)
printTab(x - 1);
递归头
第一行是1*1=1
if (x == 1) {
System.out.println("1*1=1");
return;
}
运行结果![运行结果](https://i-blog.csdnimg.cn/blog_migrate/bc067802ff82f8e567d0298532a8fedc.png)
改程序还可以实现nn乘法表 n 为6时