java如何将输出居中对齐_Java如何对齐字符串以左对齐,右
对齐,居中对齐?
以下代码段将教您在要将字符串打印到控制台时如何以左,右或中⼼对齐⽅式对齐字符串。我们将使⽤printf(String format, args)⽅法打印字符串。的format说明符/参数定义串将如何被格式化为输出和args是将要格式化的值。
该format参数/符包括标记,宽度,精度和转换字符在下⾯⽰出的顺序。符号中的⽅括号表⽰该零件是可选参数。
% [flags] [width] [.precision] conversion-character标志描述-左对齐输出,未指定时默认为右对齐
+在数字上打印(+)或(-)符号
0零填充数值
,⼤于1000的逗号分组分隔符
空格将为-负值输出()符号,如果为正则输出空格转换次数描述s字符串,使⽤S⼤写字母将字符串⼤写
c字符,使⽤C⼤写字母⼤写
d整数byte,short,integer,long
f浮点数:float,double
n新队
宽度:定义⽤于打印参数值的字段宽度。它还表⽰
要输出到输出的最⼩字符数。
精度:对于浮点转换,精度定义浮点值中精度的位数。对于字符串值,这将提取⼦字符串。
为了使输出的字符串居中,我们使⽤()Apache Commons Lang库中的⽅法。此⽅法将中⼼对准串str中的⼀个较⼤的字符串size使⽤默认空格字符(”“)。您可以提供第三个参数来定义⾃⼰的空格字符/字符串。package ample.lang;
import org.apachemons.lang3.StringUtils;
import java.time.LocalDate;
import java.time.Month;
import poral.ChronoUnit;
public class StringAlignment {
private static Object[][] people = {
{"Alice", LocalDate.of(2000, Month.JANUARY, 1)},
{"Bob", LocalDate.of(1989, Month.DECEMBER, 15)},
{"Carol", LocalDate.of(1992, Month.JULY, 24)},
{"Ted", LocalDate.of(2006, Month.MARCH, 13)},
printf怎么输出字符
};
public static void main(String[] args) {
String nameFormat = "| %1$-20s | ";
String dateFormat = " %2$tb %2$td, %2$tY  | ";
String ageFormat = " %3$3s |%n";
String format = at(dateFormat).concat(ageFormat); String line = new String(new char[48]).replace('\0', '-');
System.out.println(line);
System.out.printf("|%s|%s|%s|%n",
<("Name", 22),
<("Birth Date", 16),
<("Age", 6));
System.out.println(line);
for (Object[] data : people) {
System.out.printf(format,
data[0], data[1],
ChronoUnit.YEARS.between((LocalDate) data[1], w())); }
System.out.println(line);
}
}
这是上⾯的代码⽚段的输出:------------------------------------------------
|        Name        |  Birth Date  | Age  |
------------------------------------------------
| Alice                |  Jan 01, 2000  |  17 |
| Bob                  |  Dec 15, 1989  |  27 |
| Carol                |  Jul 24, 1992  |  24 |
| Ted                  |  Mar 13, 2006  |  10 |
------------------------------------------------
Maven依赖
org.apachemons
commons-lang3
3.6

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。