打印九九乘法表算法-java
如果是不采用递归的话,大家很容易先到的方法应该就是循环9行,再把第n行循环n遍输出。
递归的话直接看代码:
System.out.println("递归实现");
multiTable(9);
// 循环实现一
System.out.println("循环实现一");
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + "*" + i + "=" + j*i + "\t");
}
System.out.println();
}
// 循环实现二
System.out.println("循环实现二");
int i = 1, j = 1;
while (i <= 9) {
System.out.print(j + "*" + i + "=" + j*i + "\t");
j++;
if (j > i) {
j = 1;
i++;
System.out.println();
}
}
递归函数:
private static void multiTable(int n) {
if (n == 1) {
System.out.println("1*1=1");
} else {
// 把递归调用放在输出之前,保证乘法表是正的
multiTable(n - 1);
for (int i = 1; i <= n; i++) {
System.out.print(i + "*" + n + "=" + i * n + "\t");
}
System.out.println();
}
}
打印信息:
参考:http://blog.csdn.net/jiandanfeng2/article/details/6524614