无效的电子邮件地址字符串检查(对于学校)
我正在学校的一个项目,我需要验证从一个arraylist 5电子邮件地址。无效的电子邮件地址字符串检查(对于学校)
我必须验证所有电子邮件都有'@'和'。'并没有空间。现在我只是试图让第一部分失败。
这是我到目前为止,当它调用它拉动所有5个电子邮件地址。它似乎像包含将检查字符,并只在没有它的电子邮件返回false。我不是在寻找一个字的答案。只是一点方向。
public static void print_invalid_emails()
{
for (Student s : myRoster)
{
if(s.getEmailAddress().contains("@.") == false)
System.out.println("Invalid Email: " + s.getEmailAddress());
}
}
contains 检查的字符串,在这里你的代码将返回true
仅当的电子邮件地址中包含"@."
为一个字符串。尝试使用 indexOf :
String email = s.getEmailAddress();
int atIndex = email.indexOf('@');
if (atIndex < 0 || email.indexOf('.', atIndex) < 0 || email.indexOf(' ') >= 0)
System.out.println("Invalid Email: " + email);
我假定.
必须在ADRESS的“右侧”可以发现,@
后。否则,您不需要atIndex
,您可以使用email.indexOf('.')
代替。
你有其他方法来检查电子邮件地址。 看看这篇文章,可能是有趣: What is the best Java email address validation method?
你想教人们使用像_at_Index这样的变量名吗? –
'if(_at_Index
@ScaryWombat抱歉'_at_Index'!我想说清楚“at”的意思是“@” – User9123
这应该是很明显,没有您的电子邮件地址看起来像* foo的@ .COM *用'@ .'旁边对方,所以你将有把你的测试分为'@'和'.' – Filburt
首先在纸上写下你的逻辑 –
并且不要试图猜测包含什么。仔细阅读javadoc。 https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#contains-java.lang.CharSequence- –