![](https://csdnimg.cn/release/download_crawler_static/10540608/bg4.jpg)
Java趣味编程 100 例
·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)