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.out
的PrintStream
类具有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")
,它会很容易地对齐一切。