如何解决如何以表格格式对齐不同长度的数据
请注意第 3 行中碰撞列的“0”以及其他数字是如何移动的,有什么解决方法? [
这是我当前的输出 System.out.println(""+容量 +"\t\t\t "+size()+"\t\t "+num+"\t\t"+ 数据 + "\t\t\t" +碰撞)
解决方法
我将从预先计算所有标头字段的长度开始。然后使用它和格式化的 io 以编程方式构建一个表。类似的东西,
String[] headings = {
"Capacity","Size","Num","data","Collisions"
};
int[] lengths = new int[headings.length];
for (int i = 0; i < headings.length; i++) {
lengths[i] = headings[i].length() + 4;
}
int[][] values = {
{ 100,1,241,0 },{ 100,2,289,3,4,0 }
};
for (int i = 0; i < headings.length; i++) {
System.out.printf("%-" + lengths[i] + "s",headings[i]);
}
System.out.println();
for (int i : lengths) {
for (int j = 0; j < i; j++) {
System.out.print("=");
}
}
System.out.println();
for (int[] arr : values) {
for (int i = 0; i < arr.length; i++) {
System.out.printf("%-" + lengths[i] + "s",arr[i]);
}
System.out.println();
}
输出
Capacity Size Num data Collisions
=================================================
100 1 1 241 0
100 2 1 289 0
100 3 1 4 0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。