2015-12-16 2 views
0

Итак, я делаю небольшую программу для входа в систему. У меня есть 4 формы, которые вам нужно заполнить, и если вы нажмете кнопку для входа в систему, то я хочу проверить, заполнены ли формы, и если вы не получите сообщение о том, какую форму вам нужно заполнить. Я думал о 2 способы сделать это. один более простой путь, чем другой. Простой способ:Проверка наличия одной из других строк в массиве/перечислении

static String [] Check = {SendMail.FEText, SendMail.FWText, SendMail.TEText, SendMail.TWText}; 

    public static boolean fullFilled() { 
     for (String s: Check) { 
      if (s.equals("")) { 
       JOptionPane.showMessageDialog(null, "Je bent vergeten om iets in te vullen.", "Vergeten", JOptionPane.ERROR_MESSAGE); 
       return false; 
      } else { 
       return true; 
      } 
     } 
     return false; 
    } 

И еще один с enum, но я понятия не имею, как закончить это:

public enum Check { 
     FACEBOOK_EMAIL("FaceBook emailadres", SendMail.FEText), 
     FACEBOOK_WACHTWOORD("FaceBook wachtwoord", SendMail.FWText), 
     TOTO_EMAIL("Toto emailadres", SendMail.TEText), 
     TOTO_WACHTWOORD("Toto wachtwoord", SendMail.TWText); 

     public String formName; 
     public String stringName; 

     Check(String formName, String stringName) { 
      this.formName = formName; 
      this.stringName = stringName; 
     } 

    } 

    public static boolean fullFilled() { 
     for (String s: Check) { 
      if (s.equals("")) { 
       JOptionPane.showMessageDialog(null, "Je bent vergeten om " + s.formName + "iets in te vullen.", "Vergeten", JOptionPane.ERROR_MESSAGE); 
       return false; 
      } else { 
       return true; 
      } 
     } 
     return false; 
    } 

Я хочу, чтобы сообщение, чтобы сказать «Je согнуты vergeten Om FaceBook emailadres в т. е. vullen. " если вы забыли заполнить facebookemail(FEText)

+0

'for (Check check: Check.values ​​())'? – Tunaki

+0

uhm. Я не знаю, как использовать перечисления; ( – xX4m4zingXx

+1

Каков фактический вопрос? –

ответ

0

Вы можете выполнить итерацию по всем значениям этого перечисления, а затем для каждого из них проверить, нет ли stringName. Если это так, вы добавляете его в messageBody и отображаете это в диалоговом окне, если оно не пустое.

Обратите внимание, что в приведенном ниже чек игнорируется все пробелы, которые, вероятно, вы хотите.

public static boolean fullFilled() { 
    String messageBody = ""; 
    for (Check check: Check.values()) { 
     if (check.stringName.trim().isEmpty()) { 
      messageBody = messageBody + "Je bent vergeten om " + check.formName + "iets in te vullen." + "\n"; 
     } 
    } 
    if(!messageBody.trim().isEmpty()){ 
     JOptionPane.showMessageDialog(null, messageBody, "Vergeten", JOptionPane.ERROR_MESSAGE); 
     return false; 
    } 
    return true; 
} 
+0

проверьте это, как только я получу на своем компьютере, спасибо. – xX4m4zingXx

+0

Я сделал это, но когда я заполняю первую форму, тогда в ней говорится, что я не заполнил первую форму. Я думаю, что это происходит, потому что он проверяет, является ли одна из форм пустой, и если это правда, то она всегда возвращается с первым formName. Есть ли способ заставить его вернуть формуName формы, которая не заполнена? – xX4m4zingXx

+0

Я просто взял ваш алгоритм и изменил его для поддержки Enums.Я не потрудился проверить логику.Был ошибка - это было по существу только проверка поля первой формы.Я исправил это.Я не совсем уверен, что вы просите в своем Вы хотите перечислить все пустые поля в том же диалоговом окне g сообщение? –

Смежные вопросы