我需要通过我的标签提供命令来打印我的值,格式应该是这样的 -
Name amount quanity
sdfsadfhdasjfsdfds 34 2
asd 22 1
但问题是,如果值为name is small
,那么format get dis-balanced
。如何在项目之间提供修复空间以使格式保持不变。
我的代码是 -
builder.append(Name+"\n" + " " +amount + " "+ quantity + "\n");
答案 0 :(得分:3)
您可以使用String.format()
方法:
System.out.println(String.format("%s %10s %10s", "foo", "bar", "baz"));
System.out.println(String.format("%s %10s %10s", "foofoo", "barbar", "bazbaz"));
打印:
foo bar baz
foofoo barbar bazbaz
%10s
告诉String.format()
为传递的字符串添加空格前的内容,直到达到10个字符的宽度。
有关格式字符串的更多详细信息,请查看documentation。
答案 1 :(得分:1)
使用String.format()方法和%s你应该能够循环遍历所有名称项(假设它们应该比价格和数量更长)然后给int一个最长字符串的值。
String[] items = {"foo", "bar"} // item names
int spaces; // number of spaces
for(int i = 0; i < items.length; i++){
if(spaces < items[i].length){
spaces = items[i];
}
}