2013-12-15 71 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