格式化控制台以使列

时间:2016-02-29 19:04:36

标签: java

我必须创建一个包含5列的输出 Like This

我遇到的问题是我一直遇到错误(关于数组和字符串的问题),但我们尚未涵盖数组。这就是我到目前为止所做的:

System.out.println("Game\tResult\t\t\tValue\tBooby Prize\t\tDescription");
System.out.printf("1",prize1Result,prize1Value(prize1BoobyPrize?"yes":"no"),prize1Desc);

*所有变量都是正确的(案例等) 第二行导致错误,仍然需要格式化。

1 个答案:

答案 0 :(得分:1)

使用tab的问题是它只将光标移到一行的下一个4的间隔。相反,你应该使用String::format并用相同的数量填充每个字符串

public static String padRight(String s, int n) {
     return String.format("%1$-" + n + "s", s);  
}

...

int paddingLength = 12;

System.out.println(
        padRight("Game", paddingLength) + 
        padRight("Result", paddingLength) + 
        padRight("Value", paddingLength) + 
        padRight("Booby Prize", paddingLength) + 
        padRight("Description", paddingLength)
);
System.out.println(
        padRight("1", paddingLength) + 
        padRight(prize1Result, paddingLength) + 
        padRight(prize1Value, paddingLength) + 
        padRight(prize1BoobyPrize?"yes":"no", paddingLength) + 
        padRight(prize1Desc, paddingLength)
);
相关问题