java中的列表打印列表
我有以下清单:java中的列表打印列表,java,list,Java,List,我有以下清单: [10, 20, [44, 55], [[777, 888]]] 我想打印如下(Index.Value): 我知道我的代码有问题。我们还有别的办法处理吗? 有人能帮我吗?当您处理外部列表的第三个元素时,将“2.”附加到s并将结果分配到s 然后,当处理外部列表的第4个元素时,将“3.”附加到s,并将结果分配给s,因此现在s包含“2.3.”,而不是应该传递给递归调用的所需“3.” 如果不给s赋值,只需将s+i+“传递给递归调用,就可以避免这种情况 改变 s = s + i + ".
[10, 20, [44, 55], [[777, 888]]]
我想打印如下(Index.Value):
我知道我的代码有问题。我们还有别的办法处理吗?
有人能帮我吗?当您处理外部列表的第三个元素时,将“2.”附加到
s
并将结果分配到s
然后,当处理外部列表的第4个元素时,将“3.”附加到s
,并将结果分配给s
,因此现在s
包含“2.3.”,而不是应该传递给递归调用的所需“3.”
如果不给s
赋值,只需将s+i+“
传递给递归调用,就可以避免这种情况
改变
s = s + i + ".";
print((List<Object>)list.get(i),s);
完全纠正的方法:
static void print(List<Object> list, String s) {
for (int i = 0; i < list.size(); i++) {
if (list.get(i) instanceof Integer) {
System.out.println(s + i + "." + list.get(i));
} else {
print((List<Object>)list.get(i),s + i + ".");
}
}
}
静态无效打印(列表,字符串s){
对于(int i=0;i
处理外部列表的第三个元素时,将“2.”附加到s
并将结果分配给s
然后,当处理外部列表的第4个元素时,将“3.”附加到s
,并将结果分配给s
,因此现在s
包含“2.3.”,而不是应该传递给递归调用的所需“3.”
如果不给s
赋值,只需将s+i+“
传递给递归调用,就可以避免这种情况
改变
s = s + i + ".";
print((List<Object>)list.get(i),s);
完全纠正的方法:
static void print(List<Object> list, String s) {
for (int i = 0; i < list.size(); i++) {
if (list.get(i) instanceof Integer) {
System.out.println(s + i + "." + list.get(i));
} else {
print((List<Object>)list.get(i),s + i + ".");
}
}
}
静态无效打印(列表,字符串s){
对于(int i=0;i
是否尝试使用调试器并查看代码中发生了什么?制作list1
aList
,然后迭代元素。在第一级,存储内部列表的索引,并在打印时使用该索引。是否尝试使用调试器并查看代码中的情况?制作list1
aList
,然后迭代元素。在第一级,存储内部列表的索引
,并在打印时使用该索引。我们还有别的办法处理吗?类似于在非常初始的方法调用时不传递字符串。@AbdulBasith您可以将初始调用包装在不接受字符串的第二个方法中-静态无效打印(列表){print(列表“”);}
Awsome。我们还有别的办法处理吗?类似于在非常初始的方法调用时不传递字符串。@AbdulBasith您可以将初始调用包装在不接受字符串的第二个方法中-静态无效打印(列表){print(列表“”);}
print((List<Object>)list.get(i),s + i + ".");
0.10
1.20
2.0.44
2.1.55
3.0.0.777
3.0.1.888
static void print(List<Object> list, String s) {
for (int i = 0; i < list.size(); i++) {
if (list.get(i) instanceof Integer) {
System.out.println(s + i + "." + list.get(i));
} else {
print((List<Object>)list.get(i),s + i + ".");
}
}
}