java中如何以左对齐、右对齐和居中对齐字符串打印输出?

java-教程王 Java经验 发布时间:2022-01-07 11:29:42 阅读数:4280 1
下文笔者将讲述使用java代码打印出“左对齐、右对齐和居中对齐字符串”的方法分享,如下所示:
实现思路:
    1.借助printf(String format, Object... args)输出指定占位符的信息
	2.借助 StringUtils 工具类处理(需引入相应的jar包)
标志 说明
- 左对齐输出,未指定时默认为右对齐
+ 打印数字值的(+)或(-)符号
0 零填充了一个数值
, 大于1000的数字的逗号分组分隔符
空格将输出一个(-)符号表示负值,如果为正值则输出一个空格

转换符 备注说明
s 字符串转换符
c 字符转换符
d 数值转换符
f 浮点型转换符
n 换行符
例:
package com.java265;
import org.apache.commons.lang3.StringUtils;
import java.time.LocalDate;
import java.time.Month;
import java.time.temporal.ChronoUnit;

public class StringAlignment {
    private static final Object[][] people = {
            {"adeal", LocalDate.of(2021, Month.JANUARY, 1)},
            {"java", LocalDate.of(2020, Month.DECEMBER, 8)},
            {"ado.net", LocalDate.of(1998, Month.JULY, 9)},
            {"cSharp", LocalDate.of(2003, Month.MARCH, 23)},
    };

    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);
    }
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaJingYan/202201/16415270762180.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者