【发布时间】:2015-10-10 08:41:40
【问题描述】:
我正在为学校编写一个程序,其中包含学生列表,包括他们的电子邮件地址。部分程序需要打印出无效的电子邮件地址。我一直在使用 .contains() 方法,但它似乎只能部分工作。
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());
}
}
}
检查以下电子邮件地址时:
John1989@gmail.com
Erickson_1990@gmailcom
The_lawyer99yahoo.com
Erin.black@comcast.net
它只打印 Erickson_1990@gmailcom 而不是 The_lawyer99yahoo.com。
知道这是为什么吗?
【问题讨论】:
-
对我来说似乎可以正常工作(按照您列出的顺序,
true、false、false、true)。考虑提供一个runnable example 来证明您的问题。这不是代码转储,而是您正在做的事情的一个示例,它突出了您遇到的问题。这将导致更少的混乱和更好的响应 -
其实只是想通了问题所在。该程序的另一部分是在进入电子邮件验证部分之前删除“The_lawyer99yahoo.com”。代码运行良好,但一开始并没有达到我的预期。
标签: java validation email format