2
我正在输入一个包含学生列表的学校的程序,其中包括他们的电子邮件地址。部分程序需要打印出无效的电子邮件地址。我一直使用.contains()方法,但它似乎只是部分工作。.contains(“@”)无法验证Java中的电子邮件格式
public static void print_invalid_emails()
{
for(Student s : mStudents)
{
if(s.getEmailAddress().contains("@") && s.getEmailAddress().contains(".") && !s.getEmailAddress().contains(" "))
{
continue;
}
else
{
System.out.println(s.getEmailAddress());
}
}
}
当检查以下电子邮件地址:
Erickson_1990 @ gmailcom
The_lawyer99yahoo.com
它只打印Erickson_1990 @ gmailcom但n ot The_lawyer99yahoo.com。
任何想法为什么这是?
似乎工作没关系,我(在你列出的顺序该函数返回
true
,'真','FALSE','假','true')。考虑提供一个[可运行的示例](https://stackoverflow.com/help/mcve),它可以证明你的问题。这不是代码转储,而是您正在做的事情的一个例子,它突出了您遇到的问题。这会导致更少的混淆和更好的回应 – MadProgrammer其实只是找出了问题所在。该计划的另一部分是在去电子邮件验证部分之前删除“The_lawyer99yahoo.com”。代码工作正常,正是我期待的不是在那里开始。 – Ian