我在 Java 中使用
String.format()
尝试模拟 C 中可用的 printf() 控制通道。我了解如何指定应将字符串放置在需要 20 个字符、5、2 ... 和 3 的字段中小数、2 等。但是,字符串在其字段中打印时右对齐。
如何左对齐字符串?
这是一个可能的输出示例,我想将其修改为在其字段中左对齐
EXECUTING
和 CREATED
。
Process PID: 25 Status: ----------- EXECUTING
Process PID: 36 Status: READY-SUSPENDED
Process PID: 4 Status: ---------------- CREATED
*注意:将“-”视为空格
与 printf 相同 - 在格式中使用
-
修饰符
System.out.format("%-10d%-32s%-16s%-16s%-32s", obj.getId(), obj.getBname(), obj.getAname(),obj.getLanguage(),obj.getPublication());
只需在数字前面添加连字符
-
。
像这样吗?
class F {
public static void main( String ... args ) {
String [] status = { "EXECUTING", "READY-SUSPENDED", "CREATED" };
int [] pids = {123, 34, 1231 };
int i = 0;
for( String s : status ) {
System.out.printf("Process PID: %5d Status : %s%n", pids[i++], s);
}
}
}
输出:
$java F
Process PID: 123 Status : EXECUTING
Process PID: 34 Status : READY-SUSPENDED
Process PID: 1231 Status : CREATED