打印九九乘法表

时间:2022-07-03 01:09:41

问题描述:打印九九乘法表

解决方法:使用两重循环,一重循环,或者递归都可以解决

代码示例:

package cn.ccnu.demo1;

public class Demo3 {
//使用两重循环打印九九乘法表
public static void getTableTwoFor(){
for(int i=1; i<=9; i++){
for(int j=1; j<=i; j++){
System.out.print(j+"*"+i+"="+i*j+" ");
}
System.out.println();
}
}
//使用一重循环打印九九乘法表
public static void getTableOneFor(){
for(int i=1, j=1; j<=9; i++){
System.out.print(i+"*"+j+"="+i*j+" ");
if(i == j){
i = 0;
j++;
System.out.println();
}
}
}
//不使用循环,使用递归打印九九乘法表
/*
* 使用递归打印九九乘法表的算法:
* 1,根据分析可以得知,九九乘法表的第N行有N个小式子
* 2,第N-1行比第N行少一个式子
* 3,第1行只要一个式子(递归的结束条件)
*/
public static void getTableNoFor(int num){
if(num == 1){
System.out.print("1 * 1 = 1");
System.out.println();
}else{
getTableNoFor(num - 1);
print(1, num);
System.out.println();
}
}

private static void print(int i, int num) {
if(i <= num){
System.out.print(i+"*"+num+"="+i*num+" ");
print(++i, num);
}
}

public static void main(String[] args) {
getTableTwoFor();
getTableOneFor();
getTableNoFor(9);
}
}