输出九九乘法表

输出九九乘法表可以使用很多语言,在这里以Java语言为例,仔细分析其思想。

以下是一个简单的九九乘法表

 1X1=1 
 1X2=2 2X2=4 
 1X3=3 2X3=6  3X3=9 
 1X4=4 2X4=8  3X4=12 4X4=16 
 1X5=5 2X5=10 3X5=15 4X5=20 5X5=25 
 1X6=6 2X6=12 3X6=18 4X6=24 5X6=30 6X6=36 
 1X7=7 2X7=14 3X7=21 4X7=28 5X7=35 6X7=42 7X7=49 
 1X8=8 2X8=16 3X8=24 4X8=32 5X8=40 6X8=48 7X8=56 8X8=64 
 1X9=9 2X9=18 3X9=27 4X9=36 5X9=45 6X9=54 7X9=63 8X9=72 9X9=81  

代码:

public static void main(String[] args) {
  
  //行
  int line = 1;
  
  //列
  int row = 1;
  
  //核心算法
  for(line = 1 ; line <= 9; line++) {
   for(row =1 ; row <= line; row++) 
   {
    //分清行与列,需用print(输出后不换行),转义字符需用双引号括着(如:"\t","\n"……)
    System.out.print(row + "X" + line + "=" + (line * row) + "\t"); 
   }
   //单独使用 System.out.println()是换行!
   System.out.println();
  }

运行结果为:

输出九九乘法表_第1张图片

难理解的地方—for循环—问题及思考

  • 双重循环的作用是什么?
    使用双重循环的目的是,用外层循环的变量和内层循环的变量分别作为乘积中的两个数。
    如:1 x 1 和 1 x 2

  • 为什么外层循环是line(行)内层循环是row(列)?
    因为,程序在控制台窗口打印时是一行一行输出的,所以外层用来表示行,当行固定之后依次向后打印某一行后续的乘积。
    如第三行:1X3=3 2X3=6 3X3=9

  • 为什么内层循环的终止条件是“row<=line”?
    从整个九九乘法表来看,每一行结尾都是:2x2—3x3—4x4
    所以,其内层循环的循环变量row <=line

  • 在内层循环输出语句中为什么row(列)在前,而不是line(行)在前?
    如第三行:1X3=3 2X3=6 3X3=9
    可以观察第三行,我没法向乘号(x)两边的数中,第一个数每次都加1,而第二数却不变(均为3),我们之前学过的for循环嵌套,其外层循环执行一次而内层循环需要执行多次,因此,将这一行多次改变的变量(row)放在前面,而在这一行固定不变的量(line)放在后面。

  • 为什么内层循环中使用print(),而外层循环使用println()?
    print()在输出后不换行,这就使得1X3=3 2X3=6 3X3=9连续打印三次后在一行,而println()在输出后还行,内层循环执行完毕(一行输出完),然后执行外层中的println()起到换行作用。

┗|`O′|┛ 嗷~~
希望对大家有所帮助

你可能感兴趣的:(输出九九乘法表)