检查名称是否在成员列表中

时间:2014-03-12 06:45:06

标签: java jcreator

好的,所以列表正在运行,但问题是检查器。下面是这样的情况:有一个成员名单列表,首先用户将输入一个名称。第二,程序将检查名称是否在列表中。如果名称在列表中,它将显示"确定",如果名称不在列表中,它将显示"会员不存在"。我的问题是检查器搜索名称,但如果第一个成员已经不等于用户输入的名称,"会员不存在"将显示,程序将停止搜索。

例如:

会员

  1. 麦克

  2. 艾伯特

  3. fred

  4. 输入: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");
                  }
               }
              }
    

    这不是整个代码,但我的问题主要是检查器

2 个答案:

答案 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");
  }