好的,所以列表正在运行,但问题是检查器。下面是这样的情况:有一个成员名单列表,首先用户将输入一个名称。第二,程序将检查名称是否在列表中。如果名称在列表中,它将显示"确定",如果名称不在列表中,它将显示"会员不存在"。我的问题是检查器搜索名称,但如果第一个成员已经不等于用户输入的名称,"会员不存在"将显示,程序将停止搜索。
例如:
会员
麦克
艾伯特
fred
输入:mike
输出:确定
但是如果
输入:albert
输出:成员不存在
这是我目前的代码。
class Node
{
protected String info;
protected Node next;
public Node(String value)
{
info = value;
next = null;
}
}
class LinkedList
{
private Node head;
private Node head1;
private Node head2;
private int count;
public LinkedList()
{
head = null;
count = 0;
}
public void checker(String name)
{
for(Node cur = head; cur != null; cur = cur.next)
{
if(cur.info.equals(name))
{
System.out.print("OK ");
return;
}
else
{
System.out.print("member does not exist");
}
}
}
这不是整个代码,但我的问题主要是检查器
答案 0 :(得分:0)
在for循环的第一次迭代中,检查值是否等于name。否则“会员不存在”
您必须完成循环,然后才能打印成员不存在。
for(Node cur = head; cur != null; cur = cur.next)
{
if(cur.info.equals(name))
{
System.out.print("OK ");
return;
}
}
System.out.print("member does not exist");
是正确的方法。
答案 1 :(得分:0)
你可以做一些基本的事情:
int nameExist;
for(Node cur = head; cur != null; cur = cur.next)
{
if(cur.info.equals(name))
{
nameExist++;
}
}
if(nameExist>0){
System.out.print("ok");
}
else{
System.out.print("member does not exist");
}