嵌套未按预期工作 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" 中)来为迭代器提供一个更有意义的名称,或者如果您在算法中途甚至事先感到困惑