如果实际上没有向左移动任何像素,设置负宽度的重点是什么,例如:
System.out.printf("%-9s", "Name:"); //even though I have -9 it doesn't actually move to the left
然而:
System.out.printf("%9s", "Name:"); //moves Name to the right 9 pixels
那么( - )宽度的点是什么,如果它实际上没有将它向左移动。
***注意:我使用intelliJ所以也许是我的IDE的东西?
答案 0 :(得分:0)
设置宽度会为输出保留最小的空格数。它不会向左或向右移动。它只是在您指定的宽度边缘右对齐输出。
然后,如果您的输出小于您设置的宽度,它将用空格填充剩余的空格。但是,如果您的输出大于您设置的宽度,它将移动您的输出以适应它。
例如......
System.out.printf("%9s", "Name:");
看起来像:
" Name:"
虽然:
System.out.printf("%9s", "His Name:");
看起来像:
"His Name:"
同时,-
是一个理由说明符,所以:
System.out.printf("%-9s", "Name:");
实际上看起来像是:
"Name: "
如果您对这些事情有疑问,请尝试更改输出。使用System.out.printf("[%-9s]", "Name:")
之类的东西可以使白色空间更加明显。