如何使用printf [using java]动态更改空格?

时间:2013-11-10 19:48:53

标签: java printf

我正在开发一个需要动态更改空格数的应用程序。 每次我需要增加一个空格。我知道它背后的逻辑,但我找不到任何文档来帮助解决语法问题。

System.out.printf("%3s", " ");

上面的代码在嵌套循环中,我希望数字3是动态的。数字需要是变量才能完成我需要它做的事情。 如何在s之前将数字设置为变量?

3 个答案:

答案 0 :(得分:2)

像:

int gap = 3;

System.out.printf("%" + gap + "s", " ");

答案 1 :(得分:0)

String space = ""

for(int i = 0; i < 5; i++){
    space += " ";
    System.out.printf("%s", i + space + ",");
}

答案 2 :(得分:0)

在格式打印输出中,格式说明符以百分号(%)开头,以转换器(s)结束。转换器是一个字符,指示要格式化的参数类型。在百分号(%)和转换器之间,您可以使用可选的标志和说明符(width,精度,符号)。

long n = 461012;
System.out.format("%08d%n", n); // prints "00461012"

在上面的例子中:

  1. d是一个转换器,指定要打印为十进制整数的目标参数n
  2. 08是一个标志:指定打印的十进制整数宽度应为八个字符,必要时带前导零。
  3. 查看文档:{​​{3}}和Class Formatter