当前位置:首页 > Java

java如何列对齐

2026-03-23 08:37:44Java

在Java中实现列对齐的方法

使用System.out.printf格式化输出

printf方法可以通过格式化字符串控制列宽和对齐方式。%Ns表示字符串占N个字符宽度,%-Ns表示左对齐,%Ns表示右对齐。

System.out.printf("%-10s %-10s %-10s\n", "Name", "Age", "City");
System.out.printf("%-10s %-10d %-10s\n", "Alice", 25, "New York");
System.out.printf("%-10s %-10d %-10s\n", "Bob", 30, "London");

使用String.format预先格式化

String.formatprintf使用相同的格式化语法,但返回格式化后的字符串而非直接输出。

String header = String.format("%-10s %-10s %-10s", "Name", "Age", "City");
String row1 = String.format("%-10s %-10d %-10s", "Alice", 25, "New York");
System.out.println(header);
System.out.println(row1);

使用Stringpad方法手动对齐

通过计算字符串长度并用空格填充实现对齐,适用于需要动态调整列宽的场景。

String name = "Alice";
int age = 25;
String city = "New York";

String formattedName = String.format("%-" + 10 + "s", name);
String formattedAge = String.format("%-" + 10 + "d", age);
String formattedCity = String.format("%-" + 10 + "s", city);

System.out.println(formattedName + formattedAge + formattedCity);

使用第三方库(如Apache Commons Lang)

StringUtils类提供方便的字符串填充方法,简化手动对齐操作。

import org.apache.commons.lang3.StringUtils;

String name = "Alice";
String age = "25";
String city = "New York";

String formattedName = StringUtils.rightPad(name, 10);
String formattedAge = StringUtils.rightPad(age, 10);
String formattedCity = StringUtils.rightPad(city, 10);

System.out.println(formattedName + formattedAge + formattedCity);

表格输出建议

对于复杂表格,建议使用专门的库如ASCIITableJava Pretty Printer,它们支持自动调整列宽、边框绘制等功能。

java如何列对齐

// 示例使用ASCIITable(需引入依赖)
String[] headers = {"Name", "Age", "City"};
String[][] data = {{"Alice", "25", "New York"}, {"Bob", "30", "London"}};
ASCIITable.getInstance().printTable(headers, data);

注意事项

  • 固定列宽时需确保内容不超过指定宽度,否则会破坏对齐。
  • 中文字符占用宽度与英文字符不同,可能需要额外处理。
  • 对于数值类型,建议统一指定小数位数(如%.2f)以避免格式不一致。

标签: java
分享给朋友:

相关文章

java如何产生随机数

java如何产生随机数

使用 Math.random() 方法 Math.random() 生成一个范围在 [0.0, 1.0) 的伪随机 double 值。通过缩放和偏移可以生成指定范围的随机数。 double ra…

如何安装java软件

如何安装java软件

下载Java安装包 访问Oracle官方网站或OpenJDK开源项目页面,选择适合操作系统的Java版本(如Windows、macOS或Linux)。对于个人使用,通常下载JDK(Java Devel…

如何阅读java源码

如何阅读java源码

阅读Java源码的方法 选择合适的源码项目 初学者建议从JDK核心类库(如java.lang、java.util)或知名开源项目(如Spring、Guava)入手。选择文档完善、社区活跃的项目能降低理…

java程序如何打包

java程序如何打包

打包Java程序的方法 使用JAR打包 Java程序可以通过JAR(Java Archive)格式打包,这是一种常见的压缩格式,适用于包含多个类文件和资源的项目。以下是使用JAR打包的步骤: 确保项…

java面试官如何面试别人

java面试官如何面试别人

考察基础知识 从Java核心概念入手,包括面向对象特性(封装、继承、多态)、集合框架(ArrayList vs LinkedList、HashMap实现原理)、异常处理机制、多线程(线程池、锁机制)等…

react如何与java配合

react如何与java配合

React 与 Java 配合的常见方式 React 作为前端框架,通常与 Java 后端通过 RESTful API 或 GraphQL 进行交互。以下是几种常见的配合方式: RESTful AP…