Java-从arrayList获取值并使用索引时发生逻辑错误

Java-从arrayList获取值并使用索引时发生逻辑错误,java,arraylist,indexing,runtime-error,Java,Arraylist,Indexing,Runtime Error,我的问题是这个逻辑错误,除了这一部分,课堂上的其他所有东西都能正常工作。 在此之前,用户输入一个与basket ArrayList中的值相对应的值。 我想找到存储该值的索引,并将其返回给main方法以删除它。目前,它返回的是用户输入,而不是目标索引。它编译得很干净。谢谢你抽出时间 //loop for each index within basket for (Integer indexBasket : basket){ //if value at

我的问题是这个逻辑错误,除了这一部分,课堂上的其他所有东西都能正常工作。 在此之前,用户输入一个与basket ArrayList中的值相对应的值。 我想找到存储该值的索引,并将其返回给main方法以删除它。目前,它返回的是用户输入,而不是目标索引。它编译得很干净。谢谢你抽出时间

        //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;
}
试试这个

    //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;
}
//篮子中每个索引的循环

对于(int indexBasket=0;indexBasket在
targetIndex=indexBasket
之后应该有一个
中断;
。如果您已经找到了所需的内容,则无需进一步遍历。或者只需在循环中
返回indexBasket;
。@klarki可能想返回最后一个匹配的,列表可以包含重复项。但是在这种情况下“如果是这样的话,从末尾开始遍历是有意义的。@klarki好的,观点很好,同意了。这就解决了问题。非常感谢您的快速响应:)