在控制台输出中排列数据 java
lining up data in console output java
我有以下代码摘录;
问题是
(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;
}
}
如果您可以假设来自“assd”子节点的字符串的最大长度,您可以使用System.out.printf
。例如:
System.out.printf("%-20s %s%n", element.getChildNodes().item(0).getNodeValue(), eventy)
会将“assd”子节点的值打印到宽度为 20 的第一列,然后是变量 eventy
的值,然后是换行符。
我有以下代码摘录;
问题是
(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;
}
}
如果您可以假设来自“assd”子节点的字符串的最大长度,您可以使用System.out.printf
。例如:
System.out.printf("%-20s %s%n", element.getChildNodes().item(0).getNodeValue(), eventy)
会将“assd”子节点的值打印到宽度为 20 的第一列,然后是变量 eventy
的值,然后是换行符。