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