我正在从两个单独的ArrayList<String>
(两者都具有相同的长度)中检索信息以进行显示。无论如何,我可以将它制成表格以便整齐地显示出来吗?因为String的长度会发生变化,所以我无法预先确定长度。
这就是它目前的样子。
Title Quantity
name1 10
name2 20
namenamename 30
na 40
我试图通过相应地调整长度来获得以下内容。
Title Quantity
name1 10
name2 20
namenamename 30
na 40
代码
String order = "Title:\tQuantity\n";
for(int x=0; x < list1.size(); x++){
order += list1.get(x) + "\t\t" + list2.get(x) + "\n";
}
新代码
String order = String.format("%-30s %s", "Title", "Quantity\n");
for(int x=0; x < list1.size(); x++){
order+= String.format("%-30s %s", list1.get(x), list2.get(x)) + "\n";
}
现在的样子
Title Quantity
Crackers 4
Cup 6
Desk 1
Fanta Soft Drink 12
Oasis Citrus Punch 1
Oreo Double Stuff 22
Spinach 1
答案 0 :(得分:1)
找到第一列的最长条目,然后使用带有字段宽度参数的格式字符串的String.format()
,如下所示:%-23s %4s
应创建两列,其中c1为23宽,左对齐。 c2是4个右对齐的字符。
请在此处查看重复的问题https://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html#syntax