我有一个ASCII表,我想把它放到我可以放置输入但不影响空格的地方
System.out.println("._________________________.");
System.out.println("|" + playerOneName + " " + "|");
System.out.println("|-------------------------|");
System.out.println("|Wins "+ playOneWin + "|");
System.out.println("|Losses " + playOneLoss + "|");
System.out.println("|_________________________|");
我知道它对上下文没有意义但是如果我做一个像John这样的随机名称。这是输出
System.out.println("._________________________.");
System.out.println("|John |");
System.out.println("|-------------------------|");
System.out.println("|Wins 12|");
System.out.println("|Losses 3|");
System.out.println("|_________________________|");
忽略第二个例子中的System.out.println(),它只是设置结构。我的问题是如何获得|与其余部分和名称对齐,如果有意义的话,不要编辑空格
由于
答案 0 :(得分:2)
所以你基本上想填充字符串。
如果字符串短于某个长度,则需要向其添加字符(向左或向右)以使其达到该长度。正确?
使用System.out.printf
System.out.printf("%-10s|", "John"); // padding to the right
那将输出
John |
如果您希望长度不同,请将10
更改为其他内容。
对于获胜和失败的数量,您可以将数字填入左侧:
int playOneWin = 12;
int losses = 3;
System.out.printf("|Wins%21s|%n", playOneWin); // note that the "-" is gone, signifying padding left
System.out.printf("|Losses%19s|", losses); // 19 is written here because "Losses" has 2 more letters than "Wins",
// so we pad the string for 2 fewer characters
输出:
|Wins 12|
|Losses 3|