Java println格式化,所以我可以显示一个表?

如何以允许我将输出格式化为表格的方式利用System.out.print(ln/f)

如果我要使用printf ,我应该指定哪种格式来实现以下结果?

示例表我想要打印:

 n result1 result2 time1 time2 ----------------------------------------------------- 5 1000.00 20000.0 1000ms 1250ms 5 1000.00 20000.0 1000ms 1250ms 5 1000.00 20000.0 1000ms 1250ms 

一切都排好了漂亮吗?

是的,从Java 5开始,用于System.outPrintStream类具有printf方法,因此您可以使用字符串格式。


更新:

实际的格式化命令取决于您要打印的数据,您想要的确切间距等。以下是许多可能的示例之一:

 System.out.printf("%1s %-7s %-7s %-6s %-6s%n", "n", "result1", "result2", "time1", "time2"); System.out.printf("%1d %7.2f %7.1f %4dms %4dms%n", 5, 1000F, 20000F, 1000, 1250); System.out.printf("%1d %7.2f %7.1f %4dms %4dms%n", 6, 300F, 700F, 200, 950); 

你可以打印一个标签的println("\t") ,它会很容易地对齐一切。