如何将结果与列相对齐

时间:2015-03-02 03:11:49

标签: java syntax formatting

有关如何排列结果以使其看起来像乘法表的任何想法? 这是一个来自学校的项目,老师希望我们探索格式化代码的不同方法。任何想法将不胜感激。

public class MultiplicationTableBuilder {


    public static void main(String[] args) {



    System.out.println("  1  2  3  4  5  6  7  8  9  10  ");
    System.out.println("----------------------------------------");

    // Nested For loops to build multiplication table
    for(int number1 = 1; number1 <= 10; number1++)
    {
        System.out.printf(number1 + "  |");

        for(int number2 = 1; number2 <= 10; number2++)
        {
            System.out.printf("  " + (number1 * number2));
        }
        System.out.println("  | ");
    }
}

还有其他人同意我的感觉就像第4周对于嵌套循环和课程(上一课)来说有点早吗?也许我只是不知所措。

2 个答案:

答案 0 :(得分:1)

我想提供一些示例和文档,而不是提供代码:

我认为这就是你要找的东西:

http://examples.javacodegeeks.com/core-java/lang/string/java-string-format-example/

另请参阅Oracle的文档:

http://docs.oracle.com/javase/tutorial/java/data/numberformat.html

您应该搜索的关键字是&#39; java formatter&#39;

阅读完这些链接之后,您可能想知道printf方法和格式方法有什么区别,这里是答案:

System.out.printf vs System.out.format

答案 1 :(得分:0)

使用String#formatSystem.out.printf生成格式化输出,例如

    System.out.printf("%5s %3d %3d %3d %3d %3d %3d %3d %3d %3d %3d%n", "", 1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

    System.out.println("-------------------------------------------------");

    // Nested For loops to build multiplication table
    for (int number1 = 1; number1 <= 10; number1++) {
        System.out.printf("%3d | ", number1);

        for (int number2 = 1; number2 <= 10; number2++) {
            System.out.printf("%3d ", (number1 * number2));
        }
        System.out.println("  | ");
    }

...输出

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

请查看Java For Complete Beginners - formatted strings以获取有关格式限定符

的更多详细信息