Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用java格式化字符串_Java_String - Fatal编程技术网

用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
列之后添加一些其他信息,最好确保此列具有固定的大小。如果我们想打印左对齐的字符串值,我们应该在列长度之前添加
-