检查array / enum中是否有一个或多个字符串为空

时间:2015-12-16 18:47:27

标签: java enums

所以我正在制作一个小程序登录。我有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 bent vergeten om FaceBook emailadres in te vullen。”如果您忘记填写facebookemail(FEText)

1 个答案:

答案 0 :(得分: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;
}