已使用Java文件注册的电子邮件

时间:2017-12-25 14:30:10

标签: java email

我正在制作注册计划。细节存储在文本文件中。如果用户输入已经拍摄的电子邮件,则该邮件应显示为“已注册电子邮件”。如果不是,则应将电子邮件写入文件。我已经编写了代码,但它总是说电子邮件已经注册并且没有写入文件。这有什么问题?我只能使用文件而不是数组或Hashmaps。这是我的代码,verify()用于验证电子邮件格式,duplicate()用于检查电子邮件的存在:

public static void main(String[] args) {
    do {
        System.out.println("Enter your e-mail");
        email = input.nextLine();
        check = validation(email);
        if (check == false) {
            System.out.println("Enter a valid email");
        } else {
            check = duplicate(email);
            if (check == true) {
                writer.write("Email : " + email);
                writer.println();
            } else {
                System.out.println("E-mail already registered");
            }
        }
    }
    while (check == false);
}

public static boolean validation(String email) {
    boolean valid = false;
    if (email.contains("@")) {
        if (email.contains(".com")) {
            valid = true;
        }
    } else {
        valid = false;

    }
    return valid;
}

1 个答案:

答案 0 :(得分:0)

你的逻辑完全颠倒了。如果电子邮件已被使用,则duplicate会返回true。这意味着您的支票应该是:

check=duplicate(email);
if (!check) {
    writer.write("Email : "+email);
    writer.println();
} else {
    System.out.println("E-mail already registered");
}

你应该给你的变量和方法更好的名字:

boolean isDuplicate = isMailAlreadyRegistered(email);
if (!isDuplicate) {
    writer.write("Email : "+email);
    writer.println();
} else {
    System.out.println("E-mail already registered");
}
相关问题