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中填充字符串?
如果您希望根据表中的元素灵活设置列的大小,下面是伪代码:
- 创建一个长度等于列数的单维整数数组。用该列中最长字符串的长度填充它。在您的情况下,应该是
int[] columnSize = {4, 6, 5, 8};
。 - 当从
x
列中打印item
项时,添加与columnSize[x] - item.toString().length() + 1
相等的尾随空格。 - 可以不打印
x == columnSize.length
的尾随空格。