对齐两个数组中的元素

时间:2015-05-05 23:36:56

标签: java arrays

我正在开发一个项目,需要在两个水平行中显示字符串数组整数数组中的元素,如如下...

name1 | name 2 | name3 |

 111___ | 2222__   |3333__  |

我无法对齐垂直分隔符。我们应该学习基础工作,所以我们不应该使用对象。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

显示每个数组的元素时,根据所需单元格的宽度填充空格。此宽度可以创建为第三个数组或就地,作为字符串宽度和整数宽度之间的最大值。

int[] cellWidth = new int[yourIntegerArray.length];
for (int index = 0; index < cellWidth.length; index++) {
    Integer i = yourIntegerArray[index];
    String s = yourStringArray[index];
    cellWidth[index] = Math.max(s.length(), i.toString().length());    
}

然后,当显示数字时:

for (int index = 0; index < yourIntegerArray.length; index++) {
    Integer i = yourIntegerArray[index];

    // print the number
    System.out.print(i);

    // add the spaces
    int nbSpacesToAdd = cellWidth[index] - i.toString().length;
    printSpaces(nbSpacesToAdd); // you should write that one easily

    // print the separator
    System.out.print("|");
}