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