JAVA题目一个,大家帮忙做一下!

来源:百度知道 编辑:UC知道 时间:2024/05/06 06:08:14
有一个电子邮件地址,必须包含以下两个条件:

1 有 "@"

2 "@"后面必须有一个"."

说明这个电子邮件地址是合法的,否则不合法.

试编写一个程序来检验一个邮件地址是否合法.

这是老师给我们出的题目,想了半天也写不出,谁帮忙一下,小弟谢过!

我觉得要判断一个mail地址是否合法,你们老师给的条件是不完整的,应该:
1.有且只有一个@,@不能是第一个或最后一个字符;
2.必须有., .不能是第一个字符或最后一个字符,必须至少有一个.在@之后

根据以上条件我写了一个简单的方法(用排除式的判断代替循环,效率应该最高):
private static boolean testMail(String mailAddress) {
if (mailAddress == null) // 避免NullPointerException
return false;

int positionOfAt = mailAddress.indexOf('@');
int anotherPositionOfAt = mailAddress.lastIndexOf('@');

// 不能有多个'@'
if (positionOfAt != anotherPositionOfAt)
return false;
//必须有'@',且'@'不能在第一位或最后一位
if (positionOfAt <= 0 || positionOfAt == mailAddress.length() - 1)
return false;

int positionOfFirstDot = mailAddress.indexOf('.');
//.不能在第一位
if (positionOfFirstDot == 0)
return false;
//.不能在最后一位
int positionOfLastDot = mailAddress.lastIndexOf('.');
if (positionOfLastDot == mailAddress.length() - 1)
return false;

//最后一个