当整数输出超过“9”时,print语句的格式会变得混乱,如何修复它?

6ss1mwsb  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(447)

为了不让我的问题充斥着代码,我编写了一个代码片段,它再现了与原始代码相同的问题。正如标题所说,我记分板的print语句在一个整数(特别是 aiScore )超过9。我该怎么解决这个问题?有没有更好的方式来格式化打印报表?我前后都提供了一张照片 aiScore 超过9。

public class Main
{
    public static void main(String[] args) {
      int playerScore = 0;
      int aiScore = 10;
      int ties = 0;
      int gamesPlayed = 0;
      System.out.println("\tPlayer Wins" + "\t   CPU Wins" + "\t     Ties" + "\t Games Played");
      System.out.println("\t     " + playerScore + "\t\t      " + aiScore + "\t\t       " + ties + "\t      " + gamesPlayed);
    }
}

ggazkfy8

ggazkfy81#

不要使用所有的连接,使用格式化打印。

System.out.printf("    %10s %10s %10s%n", "heading1", "heading2", "heading3");
System.out.printf("    %10d %10d %10d%n", num1, num2, num3);

在这个例子中,我碰巧有3个数值要在列中打印,我碰巧相信10个字符足够宽。
根据需要调整。
%s是常规字符串字段。%d是十进制整数,%n是一个换行符(这个不从参数列表中获取值)。
这里是格式化字符串的文档。
格式化程序出现在不同的地方。有如图所示的“printf”,string.format方法,等等。

相关问题