通过 Java 中的 printf 方法,可以使用 %n$ 语法对齐二维数组元素:确定每列的最大值长度。创建格式化字符串,指定列宽和对齐方式。遍历数组,使用 printf 方法和格式化字符串对齐元素。
如何让 Java 中的二维数组对齐输出
使用 Java 中的 printf 方法可以对齐二维数组中的元素,以实现整齐的输出。printf 方法的格式化字符串支持 %n$ 语法,其中 n 指定要对齐的列。
步骤:
- 确定最大列宽:首先,遍历数组以确定每列的最大值长度。
-
创建格式化字符串:使用最大列宽创建格式化字符串,指定每列的宽度和对齐方式。格式化字符串应如下所示:
"%s%-" + maxLength + "s"
其中:
- %s 表示值的占位符。
- maxLength 是最大列宽。
- – 表示左对齐。
- 使用 printf 方法:遍历数组,并使用 printf 方法和格式化字符串对每列元素进行格式化和对齐。
示例:
import java.util.Arrays; public class Align2DArray { public static void main(String[] args) { String[][] array = { {"John", "Doe"}, {"Jane", "Doe"}, {"Bob", "Smith"}, {"Alice", "Johnson"} }; // 确定最大列宽 int maxLength = Arrays.stream(array) .mapToInt(row -> row[0].length()) .max() .getAsInt(); // 创建格式化字符串 String format = "%s%-" + maxLength + "s"; // 对齐输出 for (String[] row : array) { System.out.printf(format, row[0], row[1]); System.out.println(); } } }
输出:
John Doe Jane Doe Bob Smith Alice Johnson