2013-12-15 99 views
-1

我的問題是這個邏輯錯誤類中的其他所有工作都期望這部分。 就在此之前,用戶輸入一個對應於籃子ArrayList中的值的值。 我想找到這個值的存儲位置的索引,並將其返回到主方法刪除它。目前它正在返回用戶輸入而不是目標索引。它編譯乾淨。感謝您抽出時間Java - 邏輯錯誤從arrayList中獲取值並使用索引

 //loop for each index within basket 
     for (Integer indexBasket : basket){ 

     //if value at index = what we want to remove 
     if (basket.get(indexBasket).equals(remove)) 

       { 
     //then assign the value of posistion in the array to targetIndex 
       targetIndex = indexBasket; 
       } 

      } 
     } 

    //return targetIndex 
    return targetIndex; 
} 
+0

應該在'targetIndex = indexBasket'後面有'break'。如果你已經找到你需要的東西,那就沒有意義了。或者只是在循環中返回indexBasket。 – klarki

+0

@klarki也許他想返回匹配 –

+0

的最後一個,列表中可以包含重複項。但在這種情況下,從最後遍歷它是有意義的。 – klarki

回答

2

試試這個。

//loop for each index within basket 
     for (int indexBasket=0; indexBasket<basket.size(); indexBasket++){ 

     //if value at index = what we want to remove 
     if (basket.get(indexBasket).equals(remove)) 

       { 
     //then assign the value of posistion in the array to targetIndex 
       targetIndex = indexBasket; 
       } 

      } 
     } 

    //return targetIndex 
    return targetIndex; 
} 

如果您在此處查看該文檔:
http://docs.oracle.com/javase/6/docs/api/java/util/List.html#get%28int%29
我想你會看到什麼是你的代碼錯誤。你是
循環的元素,但用它們作爲索引。

+0

解決了它。非常感謝你的快速反應,以及:) – user3104790