0

好的,所以列表正在运行,但问题是检查器。情况如下:有一个成员名称列表,首先用户将输入一个名称。其次,程序将检查名称是否在列表中。如果名称在列表中,它将显示“OK”,如果名称不在列表中,它将显示“MEMBER DOES NOT EXIST”。我的问题是检查器搜索名称,但如果第一个成员已经不等于用户输入的名称,将显示“成员不存在”并且程序停止搜索。

例如:

会员名单

  1. 麦克风

  2. 阿尔伯特

  3. 弗雷德

输入:麦克

输出:OK

但如果

输入:阿尔伯特

输出:成员不存在

到目前为止,这是我的代码。

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

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

4

2 回答 2

0

在 for 循环的第一次迭代中,您检查值是否等于名称。否则“会员不存在”

您必须完成循环,然后才能打印成员不存在。

       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");

是正确的方法。

于 2014-03-12T06:53:55.370 回答
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");
  }
于 2014-03-12T06:54:47.007 回答