System.out.printf("% - 15s%03d \ n",s1,x)做什么?

时间:2016-06-12 23:14:38

标签: java printf

String s1=sc.next();
int x=sc.nextInt();
System.out.printf( "%-15s%03d\n", s1, x);

有人可以解释' printf'括号?

5 个答案:

答案 0 :(得分:3)

这是Java的格式化程序语法。您可以找到有关它的更多信息here。在您的情况下,您有2个参数,这些参数将被格式化。

使用s1格式化的第一个%-15s%表示接下来是将被格式化的参数。然后跟随-导致左对齐。 15填充字符串最多15个字符(在末尾添加空格)。最后,s表示您正在格式化字符串。

使用x格式化的第二个%03d。这里0是填充字符,这意味着,如果需要,添加零。 3也是宽度,意味着填充字符0会根据需要添加多次,以使其长3位(此时为开头)。最后d表示格式化整数。

答案 1 :(得分:1)

Best tutorial for printf out there

基础知识是:%s正在寻找第一个字符串作为它可以找到的参数,%d表示第一个int,而03表示%d之前是std::istream关于如何打印十进制数的修饰符。

答案 2 :(得分:1)

“%-15s”表示在15个空格内,字符串“ s1”将填充在左侧。 (从左侧填入空白) “%03d”表示在3 0s内,将在右侧填充整数“ x”。(从右侧填充零)。

这只能通过使用printf方法来完成。

答案 3 :(得分:1)

这用于java中的stdout。 解释 : String s1=sc.next(); int x=sc.nextInt(); System.out.printf( "%-15s%03d\n", s1, x);

s1,x 是你读取的字符串和整数 System.out.print 用于标准输出 "%-15s%03d\n", s1, x: 这里 % 打印字符串 _15s 给出 15 个空格和 %03d 打印 3 位数字读取的整数(即使你读取 2 或 1 或 5 它使它成为 3 位并打印)

答案 4 :(得分:0)

这是String格式的语法,只能使用Java中的printf方法来完成。
我们已经知道我们使用“ s” 表示字符串,使用“ d” 表示数字,在这里我们可以看到他们使用“-” (空格/空白),后跟数字“ 15” ,这意味着对于给定的字符串(从左侧开始),输出将带有15个空格,并且使用相同的语法,参见“ 03d” ,这意味着,如有必要,将添加零。