有一个程序,我想从数组中输出值。使用制表符(\ t)或格式化例如(%40s)不会占用不同长度的字符串。
标题下面的当前代码是好的。
System.out.format("%s%40s%32s%32s%32s%32s\n","ID","NAME","SURNAME","POSITION","CONTACT","EMAIL");
但是,不适用于不同Lenths的值
我喜欢下面的内容 * **
Name Surname ID Position
Joanne Bassy 0000001 Manager
Mannnny papsasjkasjnnxz 0000002 Boss
我虽然 * **
Name Surname ID Position
Joanne Bassy 0000001 Manager
Mannnny papsasjkasjnnxz 0000002 Boss
答案 0 :(得分:1)
更改格式字符串,如下所示:
-
标记,以左对齐值更新后的格式字符串为"%-40s%-40s%-32s%-32s%-32s%-32s\n"
。
有关详细信息,请参阅Format String Syntax。
请注意,此解决方案有几个限制:
替代方案包括
JTable
,这会更灵活,但这需要更多编码。\t
分隔字段而不是用空格填充。此选项允许复制到电子表格中,但仍有其他限制,如果列值不是全部大致相同,则可能更难排列。