java 格式化字符串:%20s

nwwlzxa7  于 2023-01-19  发布在  Java
关注(0)|答案(3)|浏览(245)

大家好,我是Java编程新手,在尝试编写一些简单代码时,我看到了这个格式化字符串,我知道它是如何工作的,但我的问题是关于我们放在**%s**之间的整数......起初我认为这可能是关于空白字段的长度,例如如果它是5,我们将看到5个空格字符,但我错了
如果我们放任何小于20的整数,它根本不起作用,当我放20时,字段长度是9个空格字符...
如果你能帮助我,我将不胜感激

kh212irz

kh212irz1#

%20s意味着如果String的长度小于20,它将被左填充。

  • 如果String的长度为length个字符,并且长度〈20,那么它将在左侧添加(20-length)个空格字符。
  • 如果String超过20个字符,则不添加任何内容(并且不截断String)

示例:

System.out.println(":" + String.format("%20s", "HelloWorld") + ":");
:          HelloWorld:

System.out.println(":" + String.format("%20s", "Damn this is a long string") + ":");
:Damn this is a long string:
rhfm7lfc

rhfm7lfc2#

假设您有一个名为client的对象,该对象具有getId、getName和getSurname方法(全部为字符串):

System.out.format(" id:       %1$5s | \t" +
                  " First Name: %2$-12s | \t" +
                  " Last Name: %3$14s \n", client.getId(), client.getName(), client.getSurname());

说明:
%一
%二
%三
这些是后面参数的编号
$5s声明5个空格,并检查字符串
$- 12s表示12个空格,字符串将显示在左侧
$14s表示14个空格,字符串将显示在右侧
希望能有所帮助!"

ifmq2ha2

ifmq2ha23#

当我们使用

String.format("%*some_no* s", "*some_string*")

在打印字符串之前,它将给予 some_no - length of some_string 提供空格。
这意味着字符串将用空格填充,直到最终字符串的长度等于 some_no
checkout https://www.javatpoint.com/java-string-format

相关问题