九九乘法表
1.问题描述
输出九九乘法口诀表,如图1.4所示。
图1.4 九九乘法口诀表 |
2.问题分析
观察九九乘法口诀表,可以得出图表的规律:总共有9行,第几行就有几个表达式。同时要注意每行表达式的规律:第j行,表达式就从j*1开始,一直到j*j结束,共有j个表达式,这个效果可以通过一次循环实现。这样的话,正好可以通过双重循环来控制输出,外层循环控制行数,内层循环控制列。还有个地方需要注意的是,内层和外层之间的联系,内层列的个数是根据外层的行数来控制的。
(1)确定程序框架
从图1.4中,我们可以发现,一共需要打印9行,每行又有若干个表达式,可以通过双重循环来实现,外层循环控制行数,内层循环控制列,这样我们就可以写出程序框架了。程序框架代码如下:
- public class Ch1_2
- {
- public static void main(String[] args)
- {
- //外循环控制行数
- for(int i=1;i<10;i++)
- {
- //内循环控制每行表达式个数
- for(int j=1; j<=n; j++)
- {
- //输出表达式
- }
- //一行结束换行
- System.out.println();
- }
- }
- }
(2)寻找每行表达式个数规律
从图1.4中,我们可以发现,第1行一个表达式,第2行两个表达式,第3行三个表达式,……,第几行就有几个表达式,所以内循环控制列的个数的变量n等于控制外循环个数的变量i,所以内循环代码就可以写成如下形式:
- for(int j=1; j<=i; j++) //内循环控制每行表达式个数,i代表行数
(3)表达式写法
表达式的写法都是一致:乘数1*乘数2=积。从图1.4中,我们可以发现每行表达式的规律:第i行,表达式就从i*1开始,一直到i*j结束。乘数1不变,一直是i,其实就是行数,乘数2从1变化到j,正好与内循环变量变化一样,所以乘数2就可以用j表示。所以表达式的写法如下:
- i+"*"+j+"="+i*j //i代表行,j代表列
(4)完整程序
现在我们就需要把刚才的程序进行组合,构成我们的完整程序:
- public class Ch1_2
- {
- public static void main(String[] args)
- {
- //外循环控制行数
- for(int i=1;i<10;i++)
- {
- //内循环控制每行表达式个数
- for(int j=1; j<=i; j++)
- {
- System.out.print(" "+i+"*"+j+"="+(i*j));
- }
- //一行结束换行
- System.out.println();
- }
- }
- }
(5)运行结果
运行程序,结果如图1.5所示。
图1.5 程序输出结果 |