Java如何对齐字符串以左对齐,右对齐,居中对齐?
以下代码段将教您在要将字符串打印到控制台时如何以左,右或中心对齐方式对齐字符串。我们将使用printf(Stringformat,Object...args)方法打印字符串。的format说明符/参数定义串将如何被格式化为输出和args是将要格式化的值。
该format参数/符包括标记,宽度,精度和转换字符在下面示出的顺序。符号中的方括号表示该零件是可选参数。
% [flags] [width] [.precision] conversion-character
宽度:定义用于打印参数值的字段宽度。它还表示
要输出到输出的最小字符数。
精度:对于浮点转换,精度定义浮点值中精度的位数。对于字符串值,这将提取子字符串。
为了使输出的字符串居中,我们使用StringUtils.center()ApacheCommonsLang库中的方法。此方法将中心对准串str中的一个较大的字符串size使用默认空格字符(”“)。您可以提供第三个参数来定义自己的空格字符/字符串。
package org.nhooo.example.lang; import org.apache.commons.lang3.StringUtils; import java.time.LocalDate; import java.time.Month; import java.time.temporal.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)}, }; 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 = nameFormat.concat(dateFormat).concat(ageFormat); String line = new String(new char[48]).replace('\0', '-'); System.out.println(line); System.out.printf("|%s|%s|%s|%n", StringUtils.center("Name", 22), StringUtils.center("Birth Date", 16), StringUtils.center("Age", 6)); System.out.println(line); for (Object[] data : people) { System.out.printf(format, data[0], data[1], ChronoUnit.YEARS.between((LocalDate) data[1], LocalDate.now())); } 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依赖
<!-- http://repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.6/commons-lang3-3.6.jar --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.6</version> </dependency>