System.out.printf(“%-15s%03d \ n”,s1,x)有什么作用?

Dja*_*ngo -2 java printf

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

有人可以解释“ printf”括号内的部分吗?

Leo*_*eon 5

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

首先s1使用格式化%-15s。这%意味着后面是要格式化的参数。然后跟随-导致左对齐。15最多填充15个字符的字符串(末尾添加空格)。最终s意味着您正在格式化字符串。

第二个x使用格式化%03d。此处0是填充字符,表示必要时添加零。该3又是宽度,这意味着填充字符0添加为根据需要多次,使其3个数字长(此时开头)。最后d意味着,整数被格式化。