Проверка наличия имени в списке участников

Итак, список работает, но проблема в контролере. Вот ситуация: есть список имен участников, сначала пользователь вводит имя. во-вторых, программа проверит, есть ли имя в списке. Если имя находится в списке, на нем будет отображаться "ОК". Если имя отсутствует в списке, на нем будет отображаться "ЧЛЕН НЕ СУЩЕСТВУЕТ". Моя проблема в том, что средство проверки ищет имя, но если первый член уже не равен имени, введенному пользователем, будет отображаться "Член не существует", и программа просто прекращает поиск.

например:

Список членов

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

Это не весь код, но моя проблема - в основном проверка

2 ответа

В первой итерации цикла 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");

это правильный путь.

Вы могли бы сделать что-то простое, как:

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");
  }
Другие вопросы по тегам