在控制台输出java中排列数据

时间:2015-08-09 11:43:30

标签: java alignment output

我在下面提供了以下代码摘录;

问题在于

(element.getChildNodes().item(0).getNodeValue())

具有不同数量的字符输出

然后导致eventy与其他行的其他输出移出行,因此给出了数据的锯齿形外观而不是列中的数据,我尝试使用制表符和空格进行试验。但是请一定帮助。

String eventy = null;

for (int i = 0; i < list.getLength(); i++) {
    Element element = (Element)list.item(i);
    String nodeName = element.getNodeName();

    switch (nodeName) {
        case "assd":
            System.out.println((element.getChildNodes().item(0).getNodeValue()) + "\t  " eventy);
            break;
        case "eventy":
            eventy = element.getChildNodes().item(0).getNodeValue();
            break;
    }
}

1 个答案:

答案 0 :(得分:2)

如果您可以假定“assd”子节点的字符串最大长度,则可以使用System.out.printf。例如:

System.out.printf("%-20s   %s%n", element.getChildNodes().item(0).getNodeValue(), eventy)

会将“assd”子节点的值打印到第一列,宽度为20,然后是变量eventy的值,然后是新行分隔符。

请参阅Format String Syntax