2015-02-09 30 views
0

我想總結2個不同列表的元素。嵌套爲不按預期在java中工作

在我的測試列表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 

好心幫,如果我錯了糾正我,或者錯過了邏輯。

+0

你的代碼使用'i'兩次,而不是使用'i'和'j'。投票結束爲錯字。 – dasblinkenlight 2015-02-09 18:22:57

+0

oops。感謝幫助。我怎麼忘記了這一點。 – Dev 2015-02-09 18:24:01

+0

@Dev你需要4個數字'4','5','5'和'6',還是你需要一個數字'20'? – rgettman 2015-02-09 18:24:15

回答

2

你必須在某個時候使用j,將你應該能夠找出自己

這是初學者,我想一個很常見的錯誤,因爲使用「我」成爲一個不容置疑的習慣

爲了避免這個問題,你可以開始使用另一個命名模式,例如

例如。叫他們IT1和IT2迭代列表時,和XY遍歷時座標等,這樣一來你知道你打算用它們做

這也可以提高可讀性很多, 如果你曾經有細化複雜的嵌套因爲你會詛咒在不使用更好的名字

你可能想考慮使用重構(在eclipse strg + 1和「在文件中重命名」)給迭代器一個更有意義的名稱,或者如果你中途感到困惑通過算法甚至可以預先得到

+0

謝謝。找到了。 – Dev 2015-02-09 18:25:17

+0

我加了一點答案,提供的提示可能是有用的 – 2015-02-09 18:40:54