How to align my results to look like columns

2020-05-01 08:02发布

Any ideas on how to line up my results so it looks like a Multiplication Table? This is a project from school and the teacher wants us to explore different ways to format our code. Any ideas will be greatly appreciated.

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("  | ");
    }
}

Also does anyone else agree with me on feeling like Week 4 is a little early for nested loops and classes (last lesson)? Maybe I'm just getting overwhelmed.

2条回答
神经病院院长
2楼-- · 2020-05-01 08:32

Use String#format or System.out.printf to generate formatted output, for example

    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("  | ");
    }

Output...

        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   | 

Take a look at Java For Complete Beginners - formatted strings for more details about the format qualifiers

查看更多
太酷不给撩
3楼-- · 2020-05-01 08:37

Instead of providing the code, I want to point you to some examples and documentations:

I think this is what you are looking for:

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

Also have a look at the documentation from Oracle:

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

The keyword you should be searching for is 'java formatter'

After reading these links, you might wonder what is the difference between the printf method and the format method, here is the answer:

System.out.printf vs System.out.format

查看更多
登录 后发表回答