嵌套未按预期工作 java
nested for not working as intended in java
我想对 2 个不同列表的元素求和。
在我的测试列表 1 中包含 1 和 2
列表 2 包含 3 和 4。
我想像这样总结列表 1 和列表 2 的元素:
1+3, 1+4, 2+3, 2+4.
我试过下面的代码,
但它不起作用。
我的代码:
for (int i = 0; i < l1.size(); i++) {
for (int j = 0; j < l2.size(); j++) {
System.out.println( l1.get(i) + l2.get(i) );
}
}
我的输出总是显示
5
5
5
5
如果我错了或逻辑不对,请帮助和纠正我。
你必须在某些时候使用j,这时候你应该能够自己弄清楚
我猜这是初学者的一个非常常见的错误,因为使用 "i" 成为一种毋庸置疑的习惯
为避免此问题,您可以开始使用其他命名模式,
例如。在迭代列表时称它们为 it1 和 it2,在遍历坐标时称它们为 xy 等,这样你就知道你打算用它们做什么
这样也能提高可读性很多,
如果你不得不改进一个复杂的嵌套,你会诅咒不使用更好的名字
您可能想考虑使用重构(在 eclipse strg+1 和 "rename in file" 中)来为迭代器提供一个更有意义的名称,或者如果您在算法中途甚至事先感到困惑
我想对 2 个不同列表的元素求和。
在我的测试列表 1 中包含 1 和 2 列表 2 包含 3 和 4。 我想像这样总结列表 1 和列表 2 的元素: 1+3, 1+4, 2+3, 2+4.
我试过下面的代码, 但它不起作用。
我的代码:
for (int i = 0; i < l1.size(); i++) {
for (int j = 0; j < l2.size(); j++) {
System.out.println( l1.get(i) + l2.get(i) );
}
}
我的输出总是显示
5
5
5
5
如果我错了或逻辑不对,请帮助和纠正我。
你必须在某些时候使用j,这时候你应该能够自己弄清楚
我猜这是初学者的一个非常常见的错误,因为使用 "i" 成为一种毋庸置疑的习惯
为避免此问题,您可以开始使用其他命名模式,
例如。在迭代列表时称它们为 it1 和 it2,在遍历坐标时称它们为 xy 等,这样你就知道你打算用它们做什么
这样也能提高可读性很多, 如果你不得不改进一个复杂的嵌套,你会诅咒不使用更好的名字
您可能想考虑使用重构(在 eclipse strg+1 和 "rename in file" 中)来为迭代器提供一个更有意义的名称,或者如果您在算法中途甚至事先感到困惑