繁体   English   中英

使用二维数组创建和打印乘法表?

[英]Creating and printing a multiplication table using a two dimensional arrays?

我正在尝试使用二维数组创建12x12次表图表。 我尝试了以下代码来实际创建数组:

    int[][] table = new int[12][12];

    for (int row=0; row<12; row++){
      for (int col=0; col<12; col++){
        table[row][col] = row+1 * col+1;

      }
    }

现在我还不太清楚如何正确显示它,我尝试了一下:

for(int row=0; row<table.length; row++) {
  for(int col=0; col<table[row].length; col++)
    System.out.print(table[row][col] + "\t");
  System.out.println();
}

这给出了一个12x12的表,但是没有进行乘法运算,该12x12点(网格中第12列第12行)是23而不是144,这现在让我认为实际的数组是错误的。 有任何想法吗?

在数学陈述式中使用括号。 知道乘法优先于加法。

所以你的代码行:

table[row][col] = row+1 * col+1;

相当于

table[row][col] = row + (1 * col) + 1;

这不是您想要的。 你要:

table[row][col] = (row + 1) * (col + 1);

String.format(...) ,考虑使用String.format(...)System.out.printf(...)来格式化输出,因为它比使用制表符\\t更强大和灵活。 另外,在游戏中你的舞台,你应该附上如果所有块和所有环路内{...}大括号,因为这会节省你的尾巴在稍后的日期。

例如,

  for (int row = 0; row < table.length; row++) {
     for (int col = 0; col < table[row].length; col++) {
        System.out.printf("%6d", table[row][col]);
     }
     System.out.println();
  }

或者如果您希望输出权正确,请将"%6d"更改为"%-6d"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM