Java 打印对账单,间距问题。

Java 打印对账单,间距问题。,java,printf,Java,Printf,我正在尝试创建一个基于文本的老虎机。但是,当我打印变量“s1”、“s2”或“s3”时,正如您所看到的,所有内容都会移位。我的问题是由于s1,可能有不同的长度。我熟悉printf的概念,但我不确定如何纠正间距问题 ("|=================================| ____\n" + "| SLOT MACHINE | [ ]\n" +

我正在尝试创建一个基于文本的老虎机。但是,当我打印变量“s1”、“s2”或“s3”时,正如您所看到的,所有内容都会移位。我的问题是由于s1,可能有不同的长度。我熟悉printf的概念,但我不确定如何纠正间距问题

                  ("|=================================|     ____\n" +
                   "|           SLOT MACHINE          |    [    ]\n" +
                   "|=================================|     / /\n" +
                   "|                                 |    / /\n" +
                   "|    =========================    |   / /\n" +
                   "|    |   1   |   2   |   3   |    |  / /\n" +
                   "|    =========================    | / /\n" +
                   "|    |       |       |       |    |===|\n"+
                   "|    | "+s1+"| "+s2+"| "+s3+"|    |   |\n" +
                   "|    |       |       |       |    |===|\n" +
                   "|    =========================    |\n" +
                   "|                                 |\n" +
                   "|          [Insert Money]         |\n" +
                   "|=================================|" );
输出如下所示

|=================================|     ____
|           SLOT MACHINE          |    [    ]
|=================================|     / /
|                                 |    / /
|    =========================    |   / /
|    |   1   |   2   |   3   |    |  / /
|    =========================    | / /
|    |       |       |       |    |===|
|    | Apple| Orange| Orange|    |   |
|    |       |       |       |    |===|
|    =========================    |
|                                 |
|          [Insert Money]         |
|=================================|

替换为以下内容。应该行得通

String slotMachine = "|=================================|     ____\n" +
                     "|           SLOT MACHINE          |    [    ]\n" +
                     "|=================================|     / /\n" +
                     "|                                 |    / /\n" +
                     "|    =========================    |   / /\n" +
                     "|    |   1   |   2   |   3   |    |  / /\n" +
                     "|    =========================    | / /\n" +
                     "|    |       |       |       |    |===|\n"+
                     "|    |%7s|%7s|%7s|    |   |\n" +
                     "|    |       |       |       |    |===|\n" +
                     "|    =========================    |\n" +
                     "|                                 |\n" +
                     "|          [Insert Money]         |\n" +
                     "|=================================|";
System.out.printf(slotMachine, "Apple", "Orange", "Orange");

%Ns
填充字符串以获得一些N值,例如
%6s
System.out.printf(“| |%7s |%7s |%7s | | | | | | \N”、“苹果”、“苹果”、“橙色”)
System.out.println(“||%7s |%7s |%7s |%7s | | | |格式(s1,“坚果”、“香蕉”、“瓦尼尔”)