嵌套,用于在java中不按预期工作

nested for not working as intended in java

本文关键字:工作 用于 java 嵌套      更新时间:2023-10-16

我想对两个不同列表的元素求和。

在我的测试列表中,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,这样你就知道你打算用它们做什么了

这也可以大大提高可读性,如果你曾经需要完善一个复杂的嵌套,你会诅咒没有使用更好的名称

您可能需要考虑在之后使用重构(在eclipsestrg+1和"rename in file"中)为迭代器提供一个更有意义的名称,或者如果您在算法中途甚至在

之前感到困惑