九九乘法表

1.问题描述

输出九九乘法口诀表,如图1.4所示。

 
图1.4  九九乘法口诀表

2.问题分析

观察九九乘法口诀表,可以得出图表的规律:总共有9行,第几行就有几个表达式。同时要注意每行表达式的规律:第j行,表达式就从j*1开始,一直到j*j结束,共有j个表达式,这个效果可以通过一次循环实现。这样的话,正好可以通过双重循环来控制输出,外层循环控制行数,内层循环控制列。还有个地方需要注意的是,内层和外层之间的联系,内层列的个数是根据外层的行数来控制的。

(1)确定程序框架

从图1.4中,我们可以发现,一共需要打印9行,每行又有若干个表达式,可以通过双重循环来实现,外层循环控制行数,内层循环控制列,这样我们就可以写出程序框架了。程序框架代码如下:

  1. public class Ch1_2   
  2. {  
  3.     public static void main(String[] args)   
  4.     {  
  5.         //外循环控制行数  
  6.         for(int i=1;i<10;i++)   
  7.         {   
  8.             //内循环控制每行表达式个数  
  9.             for(int j=1; j<=n; j++)   
  10.             {   
  11.                 //输出表达式  
  12.             }   
  13.             //一行结束换行  
  14.             System.out.println();  
  15.         }  
  16.     }  
  17. }   

 

(2)寻找每行表达式个数规律

从图1.4中,我们可以发现,第1行一个表达式,第2行两个表达式,第3行三个表达式,……,第几行就有几个表达式,所以内循环控制列的个数的变量n等于控制外循环个数的变量i,所以内循环代码就可以写成如下形式:

 

  1. 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表示。所以表达式的写法如下:

  1. i+"*"+j+"="+i*j                 //i代表行,j代表列 

(4)完整程序

现在我们就需要把刚才的程序进行组合,构成我们的完整程序:

  1. public class Ch1_2   
  2. {  
  3.     public static void main(String[] args)   
  4.     {  
  5.         //外循环控制行数  
  6.         for(int i=1;i<10;i++)   
  7.         {   
  8.             //内循环控制每行表达式个数  
  9.             for(int j=1; j<=i; j++)   
  10.             {   
  11.                 System.out.print(" "+i+"*"+j+"="+(i*j));   
  12.             }   
  13.             //一行结束换行  
  14.             System.out.println();  
  15.         }  
  16.     }  
  17. }   

(5)运行结果

运行程序,结果如图1.5所示。

 

 

 
图1.5  程序输出结果

posted @ 2015-04-05 08:34  #码农#  阅读(463)  评论(0编辑  收藏  举报