请注意第3行中collisions列的“0”以及其他数字是如何移位的,对此有何修正[这是我当前的输出系统.out.println(“+容量+”\t\t\t“+大小()+”\t\t“+数值+”\t\t“+数据+”\t\t“+冲突)
icomxhvb1#
我首先要预先计算所有头字段的长度。然后使用它和格式化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, 1, 241, 0 }, { 100, 2, 1, 289, 0 }, { 100, 3, 1, 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
1条答案
按热度按时间icomxhvb1#
我首先要预先计算所有头字段的长度。然后使用它和格式化io以编程方式构建一个表。比如说,
输出