在多列中对齐乘法表

时间:2017-12-16 04:17:53

标签: java printing

我正在尝试打印多达10的乘法表。我有逻辑,但我不知道如何使它与良好的列对齐。

这是我此刻打印的内容:

1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100

我想这样:

 1   2   3   4   5   6   7   8   9  10
 2   4   6   8  10  12  14  16  18  20
 3   6   9  12  15  18  21  24  27  30
 4   8  12  16  20  24  28  32  36  40
 5  10  15  20  25  30  35  40  45  50
 6  12  18  24  30  36  42  48  54  60
 7  14  21  28  35  42  49  56  63  70
 8  16  24  32  40  48  56  64  72  80
 9  18  27  36  45  54  63  72  81  90
10  20  30  40  50  60  70  80  90 100

这是我目前的代码:

public static void main(String[] args) {
    multiplicationTables(10);
}

public static void multiplicationTables(int max) {
    for(int x = 1; x <= max; x++) {
        for (int y = 1; y <= max; y++) {
            System.out.print(x*y + " ");
        }
        System.out.println();
    }
}

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用format用空格填充每个数字:

public static void main(String[] args) {
  multiplicationTables(10);
}

public static void multiplicationTables(int max) {
  for(int x = 1; x <= max; x++) {
    for(int y = 1; y <= max; y++) {
      System.out.print(String.format("%4d", x * y));
    }
    System.out.println();
  }
}

<强>输出:

   1   2   3   4   5   6   7   8   9  10
   2   4   6   8  10  12  14  16  18  20
   3   6   9  12  15  18  21  24  27  30
   4   8  12  16  20  24  28  32  36  40
   5  10  15  20  25  30  35  40  45  50
   6  12  18  24  30  36  42  48  54  60
   7  14  21  28  35  42  49  56  63  70
   8  16  24  32  40  48  56  64  72  80
   9  18  27  36  45  54  63  72  81  90
  10  20  30  40  50  60  70  80  90 100