在Java中,我如何使用printf()来左右对齐和右对齐相同行的输出? 这是所有左对齐的代码:
System.out.println(" ********************L********R");
String[] array = {"apple", "pie", "cheese"};
double[] array2 = {0.003, 1245, 19.979};
double[] array3 = {0.2, 1, 9};
for (int index = 0; index < array.length; index++)
{
System.out.printf(" %-10s%-10.2f%.2f%n", array[index], array2[index], array3[index]);
}
这是所有左对齐的输出:
********************L********R
apple 0.00 0.20
pie 1245.00 1.00
cheese 19.98 9.00
如果第三个元素(0.20,1.00,9.00)的正确合理,我想要的是什么。我在上面的输出中指出&#34; L&#34;是左对齐,但我希望变量是正确的,其中&#34; R&#34;是。我怎样才能正确地对齐右边的输出(0.20,1.00,9.00),同时保持左边的输出(苹果,馅饼,奶酪)左对齐?
答案 0 :(得分:1)
您的上一个参数%.2f
未指定右对齐的字符数。假设您希望它像其他参数一样是10个字符,您可能需要%10.2f
。
答案 1 :(得分:0)
请参阅Formatting Numeric Print Output
尝试System.out.format(" %-10s%-10.2f%10.2f%n")