【发布时间】:2020-10-17 04:47:06
【问题描述】:
我的任务是编写一个递归打印示例数组内容的方法。我设法做到了,并在技术上完成了它。
但我想知道是否可以将代码打印得更“漂亮”?
public class multirecursion {
static String[][][] example = {
{
{"1", "2", "3", "4"},
{"A", "B", "C"},
{"5", "6", "7", "8"}
},
{
{"01", "02", "03", "04"},
{"11", "12", "14"}
}
};
static void printRecursive(Object[] objs) {
for (Object obj : objs) {
if (obj.getClass().isArray()) {
printRecursive((Object[]) obj);
} else {
System.out.println(obj.toString().trim());
}
}
}
static void printIndented(Object[] objs, String indent) {
}
public static void main(String[] args) {
printRecursive(example);
}
}
我知道我的 printIndented 方法可能需要另一个参数,但我不知道如何从那里开始。我很感激任何建议。
好的,我解决了。以下是其他感兴趣的人:
static void printInXml(Object[] objs, String indent) {
for (Object obj : objs) {
if (obj.getClass().isArray()) {
System.out.println(indent + "<container>");
printInXml((Object[]) obj, indent + " ");
System.out.println(indent + "</container>");
} else {
System.out.println(indent + "<string>"
+ obj.toString().trim() + "</string>");
}
}
}
public static void main(String[] args) {
printInXml(example, "");
}
这就是它的样子:
<container>
<container>
<string>1</string>
<string>2</string>
<string>3</string>
<string>4</string>
</container>
<container>
<string>A</string>
<string>B</string>
<string>C</string>
</container>
<container>
<string>5</string>
<string>6</string>
<string>7</string>
<string>8</string>
</container>
</container>
<container>
<container>
<string>01</string>
<string>02</string>
<string>03</string>
<string>04</string>
</container>
<container>
<string>11</string>
<string>12</string>
<string>14</string>
</container>
</container>
【问题讨论】:
-
edit 您的问题并发布您希望输出的外观。
-
在 Eclipse 中,格式化默认代码的命令是通过“CTRL + SHIFT + F”。但是您的代码包含许多错误,例如未完成类和函数,并且逗号过多会导致编译和格式化代码出现问题。
-
我没有意识到它切断了最后几行。谢谢!
-
您应该回答自己的问题,而不是编辑您的问题并将答案合并到其中。请参阅Can I answer my own question?。顺便说一句,如果您在最初的问题中提到您希望输出为 XML 字符串,那将为我(我相信很多其他人)提供足够的信息,以便为您提供相关答案。参考How do I ask a good question?
标签: java eclipse multidimensional-array indentation