Java 我正在做入学登记。我正在努力使用以下方法RemoveMember()

Java 我正在做入学登记。我正在努力使用以下方法RemoveMember(),java,linked-list,Java,Linked List,由于数据在LinkedList中,因此即使调用result.getindex,也必须以任何一种方式进行迭代;或询问结果。包含成员;请记住,成员类需要正确重写equals方法,否则它将找不到成员 因此,我将使用ListIterator,当找到对象时,可以调用iterator.remove;从列表中删除对象。如果可能的话,我建议使用不同的方法来存储您希望稍后使用标识符查找/访问的数据,例如HashMap。否则,当列表变大时,您将面临性能问题的风险 我试着在下面调整您的RemoveMember方法。希

由于数据在LinkedList中,因此即使调用result.getindex,也必须以任何一种方式进行迭代;或询问结果。包含成员;请记住,成员类需要正确重写equals方法,否则它将找不到成员

因此,我将使用ListIterator,当找到对象时,可以调用iterator.remove;从列表中删除对象。如果可能的话,我建议使用不同的方法来存储您希望稍后使用标识符查找/访问的数据,例如HashMap。否则,当列表变大时,您将面临性能问题的风险

我试着在下面调整您的RemoveMember方法。希望这能回答你的问题

public void EnrollMember() {
    Request.instance().setMemberName(getName("Enter member name"));
    Request.instance().setMemberAddress(getName("Enter address"));
    Request.instance().setMemberPhone(getName("Enter phone"));
    Request.instance().setFeePaid(getName("Enter the fee paid"));
    Result result = store.addMember(Request.instance());
    if (result.getResultCode() != Result.OPERATION_COMPLETED) {
        System.out.println("Could not add member");
    } else {
        System.out.println(result.getMemberName() + "'s id is " + result.getMemberId());
    }
 }
public void addProduct() {
  Request.instance().setProductId(getName("Enter Product ID"));
  Request.instance().setProductName(getName("Enter product Name"));
  Request.instance().setProductPrice(getName("Enter product price"));
  Request.instance().setProductReorder(getName("Enter the product reorder amount"));
  Result result= store.addProduct(Request.instance());
  if (result.getResultCode() != Result.OPERATION_COMPLETED) {
      System.out.println("Could not add product");
  } else {
      System.out.println(result.getProductName() + "'s id is " + result.getProductId());
  }
}
public void RemoveMember(){

   //If a valid id is received, the corresponding member is removed. The system would need the member's ID for this purpose.
   //Only one member is removed when this functionality is invoked
   //Data is in a LinkedList

   System.out.println("Enter a valid ID");
   Scanner input= new Scanner(System.in);
   String validId = input.nextLine();
   Result result= store.addMember(Request.instance());
   
   if(result.getMemberId().equals(validId)){
       System.out.println("Member removed");
       
   }else{
       
   }
   
   
    
}

还有一些errors@petersagini当然可能是这样,因为您只共享部分代码。然后,要么你需要发布一些编译的东西,我认为这不是它在这里工作的方式,要么你必须调整示例并使其工作。你还可以说错误是什么?
public void RemoveMember() {

    //If a valid id is received, the corresponding member is removed. The system would need the member's ID for this purpose.
    //Only one member is removed when this functionality is invoked
    //Data is in a LinkedList

    System.out.println("Enter a valid ID");
    Scanner input = new Scanner(System.in);
    String validId = input.nextLine();
    Result result = store.addMember(Request.instance());

    // I am assuming a class "Member" and "LinkedList<Member> result" for readability 
    for (Iterator<Member> iterator = store.iterator(); iterator.hasNext(); ) {
        Member m = iterator.next();
        if (m.getMemberId().equals(validId)) {
            iterator.remove();
        }
    }
}