效果图
第一种:
第二种:
分析
前几天我有一个同学(化工的,他们学python)问我99乘法表怎么打印,我一下子没有思路,想了半天才写出来了😒。其实打印99乘法表的代码很简单,我只是想的太复杂了。
刚开始我认为,打印99乘法表的顺序是这样的(当然,刚开始你可能不这么认为,那恭喜你,你是对的😊):
先打印第一列:
然后打印第二列:
依次打印到最后一列:
但是,99乘法表在控制台是按这种方式打印的:
先打印第一行:
然后打印第二行:
依次打印到最后一行:
代码
先弄清楚99乘法表是一行一行的打印,那么代码写起来很简单了。
- 外层循环控制打印几行且控制后面的乘数是几,比如最后一行:
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72
- 最后一行是第9行,所以后面的乘数都是9。
所以外层循环是:for(int i=1;i<=9;i++)
内层循环是:for(int j=1;j<i;j++)
,==注意==这是三角形形状的乘法表,所以j<i
,i等于几,就打印几列。
如果想打印完整的乘法表,那就把内层循环改成for(int j=1;j<9;j++)
三角形形状
package com.Test;
//99乘法表
public class Main{
public static void main(String[] args){
for(int i=1;i<=9;i++){
for(int j=1;j<i;j++){
System.out.printf("%d*%d=%d\t",j,i,(j*i));
}
System.out.println();
}
}
}
完整
package com.Test;
//99乘法表
public class Main{
public static void main(String[] args){
for(int i=1;i<=9;i++){
for(int j=1;j<9;j++){
System.out.printf("%d*%d=%d\t",j,i,(j*i));
}
System.out.println();
}
}
}