再次!
现在我的问题是我需要创建一个方法查找,该方法将搜索链表以找到一个人并返回该人。
public Person lookup(String name) {
if(head == null) {
return null;
}
if(head.person.name.compareTo(name) == 0) {
head = head.next;
return person;
}
Node current = head;
Node prev = head;
while(current != null) {
if(current.person.name.compareTo(name) == 0) {
prev.next = current.next;
return person;
}
prev = current;
current = current.next;
}
return null;
}
现在,该方法采用此参数名称,比较列表中的对象,如果有匹配项,则应返回人员。这里带有我的代码的程序是返回值;特别是当比较等于 0 时它返回的值。当我编译时,我收到一个错误,说它找不到符号人。如何告诉程序返回找到的人?谢谢!
您可以通过逐个节点的搜索来查找查找,如下所示:
public Person lookup(String name) {
if (head == null) { // check if head is null then Linkedlist is empty and return null
return null;
}
Node current = head; // start from head
while (current != null) {
if (current.person.name.equals(name)) { // if equals return person
return current.person;
}
current = current.next; // get the next
}
return null;
}
您应该返回head.person
或current.person
。您的代码不知道person
是什么。