如何对齐多维数组


import java.io.PrintStream;
public class JavaApplication16 {
    public static void main(String[] args) {
        // Create 2-dimensional array.
        String[][] values = new String[12][4];
        String format;
        format = "|%1$-30s|%2$-10s|%3$-20s|n";
        // Assign three elements in it.
        values[0][0] = "Mnd";
        values[0][1] = "Stroom";
        values[0][2] = "Water";
        values[0][3] = "Telefoon";
        values[1][0] = "Jan";
        values[1][1] = "1000";
        values[1][2] = "1500";
        values[2][0] = "Feb";
        values[3][0] = "Mrt";
        values[3][2] = "3";
        // Loop over top-level arrays.
        for (String[] sub : values) {
            // Loop and display sub-arrays.
            for (String sub1 : sub) {
                PrintStream printf;
                printf = System.out.printf(sub1 + " ");
            }
            System.out.println();
        }
    }
}

输出是:

Mnd Stroom Water Telefoon
Jan 1000 1500 null
Feb null null null
Mrt null 3 null
null null null null
null null null null
null null null null
null null null null
null null null null
null null null null
null null null null
null null null null

我不太理解你的format变量,因为它是未使用的。如果您希望拥有固定的列大小,您可以使用这种格式来实现这一点,请参阅以下答案:如何在Java中填充字符串?

如果您希望根据表中的元素灵活设置列的大小,下面是伪代码:

  1. 创建一个长度等于列数的单维整数数组。用该列中最长字符串的长度填充它。在您的情况下,应该是int[] columnSize = {4, 6, 5, 8};
  2. 当从x列中打印item项时,添加与columnSize[x] - item.toString().length() + 1相等的尾随空格。
  3. 可以不打印x == columnSize.length的尾随空格。

相关内容

  • 没有找到相关文章