public class Multiply
{
/**
* @param args
*/
public static void main(String[] args) {
method1(9);
} public static void method1(int i) {
if (i == 1) {
System.out.print("1*1=1\t\n"); //当i=1后执行这句,可是执行完这句后为什么却是执行for循环
} else {
method1(i - 1); //总是循环直至i=1,这里明白
for (int j = 1; j <= i; j++) { //执行完i==1后为什么会执行这里,if条件满足后不是不执行else了吗,而且i的值怎么会是2,并且会一直增加直至到9,i不是等于一吗,我晕了,请详解,谢谢
System.out.print(j + "*" + i + "=" + j * i + "\t");
}
System.out.println();
}
}
}
{
/**
* @param args
*/
public static void main(String[] args) {
method1(9);
} public static void method1(int i) {
if (i == 1) {
System.out.print("1*1=1\t\n"); //当i=1后执行这句,可是执行完这句后为什么却是执行for循环
} else {
method1(i - 1); //总是循环直至i=1,这里明白
for (int j = 1; j <= i; j++) { //执行完i==1后为什么会执行这里,if条件满足后不是不执行else了吗,而且i的值怎么会是2,并且会一直增加直至到9,i不是等于一吗,我晕了,请详解,谢谢
System.out.print(j + "*" + i + "=" + j * i + "\t");
}
System.out.println();
}
}
}
for (int j = 1; j <=i; j++) { // j 控制每行的输出个数,也表示被乘数
// 格式化输出
System.out.printf("%d*%d=%d\t", j,i,j*i);
}
System.out.println();
}
public static void method1(int num) {
if (num <= 0) return;
method1(num-1);
for (int i =1; i <= num; i ++) {
System.out.print(num+"X"+i+"="+(i*num) + " ");
}
System.out.println();
}
public static void main(String[] args) {
method1(9);
}
}
结果:
1X1=1
2X1=2 2X2=4
3X1=3 3X2=6 3X3=9
4X1=4 4X2=8 4X3=12 4X4=16
5X1=5 5X2=10 5X3=15 5X4=20 5X5=25
6X1=6 6X2=12 6X3=18 6X4=24 6X5=30 6X6=36
7X1=7 7X2=14 7X3=21 7X4=28 7X5=35 7X6=42 7X7=49
8X1=8 8X2=16 8X3=24 8X4=32 8X5=40 8X6=48 8X7=56 8X8=64
9X1=9 9X2=18 9X3=27 9X4=36 9X5=45 9X6=54 9X7=63 9X8=72 9X9=81