用java格式化字符串
我想将状态消息打印到控制台中用java格式化字符串,java,string,Java,String,我想将状态消息打印到控制台中 System.out.format("%-60s%10s\n", "Status 1", "[Success]"); System.out.format("%-60s%10s\n", "Status 2", "[Failed]"); System.out.format("%-60s%10s\n", "Status 2", "[Failed]"); System.out.format("%-
System.out.format("%-60s%10s\n", "Status 1", "[Success]");
System.out.format("%-60s%10s\n", "Status 2", "[Failed]");
System.out.format("%-60s%10s\n", "Status 2", "[Failed]");
System.out.format("%-60s%10s\n", "Status 2 and some text", "[Failed]");
System.out.format("%-60s%10s\n", "Status 2", "[Failed]");
System.out.format("%-60s%10s\n", "Status 2", "[Success]");
System.out.format("%-60s%10s\n", "Status 2 and some very long text", "[Failed]");
System.out.format("%-60s%10s\n", "Status 2", "[Success]");
System.out.format("%-60s%10s\n", "Status 2 and some very very very long text", "[Failed]");
System.out.format("%-60s%10s\n", "Status 2", "[Success]");
System.out.format("%-60s%10s\n", "Status 2", "[Failed]");
但正如您所看到的,第二列消息的格式不正确
Status 1 [Success]
Status 2 [Failed]
Status 2 [Failed]
Status 2 and some text [Failed]
Status 2 [Failed]
Status 2 [Success]
Status 2 and some very long text [Failed]
Status 2 [Success]
Status 2 and some very very very long text [Failed]
Status 2 [Success]
Status 2 [Failed]
我想这样打印邮件:
Status 1 [Success]
Status 2 [Failed]
Status 2 [Failed]
Status 2 and some text [Failed]
Status 2 [Failed]
Status 2 [Success]
Status 2 and some very long text [Failed]
Status 2 [Success]
Status 2 and some very very very long text [Failed]
Status 2 [Success]
Status 2 [Failed]
我如何做到这一点?为什么不添加“-”
,使最后一个字段左对齐,作为第一个字段?我想,“%-60s%-10s\n”
可以用。你可以试试这个代码
System.out.format("%-60s%.10s\n", "Status 1", "[Success]");
System.out.format("%-60s%.10s\n", "Status 2", "[Failed]");
System.out.format("%-60s%.10s\n", "Status 2", "[Failed]");
System.out.format("%-60s%.10s\n", "Status 2 and some text", "[Failed]");
System.out.format("%-60s%.10s\n", "Status 2", "[Failed]");
System.out.format("%-60s%.10s\n", "Status 2", "[Success]");
System.out.format("%-60s%.10s\n", "Status 2 and some very long text", "[Failed]");
System.out.format("%-60s%.10s\n", "Status 2", "[Success]");
System.out.format("%-60s%.10s\n", "Status 2 and some very very very long text", "[Failed]");
System.out.format("%-60s%.10s\n", "Status 2", "[Success]");
System.out.format("%-60s%.10s\n", "Status 2", "[Failed]");
作为旁注:最好在格式字符串中使用
%n
而不是\n
,这样您就可以得到适合平台的换行序列。%.10s
将允许您从传递的字符串中最多打印10个字符,所以可能更好的方法是删除.10
并使用简单的%s
。但如果OP希望在Success/Failed
列之后添加一些其他信息,最好确保此列具有固定的大小。如果我们想打印左对齐的字符串值,我们应该在列长度之前添加-
。