任务说明:实现模块判断传入的电子邮箱账号的正确性;

实现要求:
一、实现功能模块;
二、针对所实现的模块编写对应的单元测试代码;
三、需要按PSP流程进行工作量估算,填写任务清单工作量估算表。
实现代码:
//键盘输入邮箱
Scanner scanner = new Scanner(System.in);
String mail = scanner.next();
int atIndex = 0;
int fullIndex = 0;
atIndex = mail.indexOf('@', 0);
fullIndex = mail.indexOf('.', 0);
if (atIndex >= fullIndex) {
System.out.println("此邮箱格式错误!");
System.exit(0);
}
//判断@是否只有一个
if (mail.indexOf('@', 0) != mail.lastIndexOf('@')) {
System.out.println("格式错误!");
System.exit(0);
}
//判断.是否只有一个
if (mail.indexOf('.', 0) != mail.lastIndexOf('.')) {
System.out.println("格式错误!");
System.exit(0);
}
//判断@到.是否为字母或数字
for (int i = atIndex + 1; i < fullIndex; i++) {
if (!((mail.charAt(i) >= 'a' && mail.charAt(i) <= 'z') || (mail.charAt(i) >= 'A' && mail.charAt(i) <= 'Z') || (mail.charAt(i) >= '0' && mail.charAt(i) <= '9'))) {
System.out.println("格式错误!");
System.exit(0);
}
}
//判断.后面的是2到3长度的字符
if (!(mail.length() - fullIndex - 1 >= 2 && mail.length() - fullIndex - 1 <= 3)) {
System.out.println("格式错误!");
System.exit(0);
}
//判断.后面的是英文字母
for (int i = fullIndex + 1; i < mail.length(); i++) {
if (!((mail.charAt(i) >= 'a' && mail.charAt(i) <= 'z') || (mail.charAt(i) >= 'A' && mail.charAt(i) <= 'Z'))) {
System.out.println("格式错误!");
System.exit(0);
}
}
System.out.println("格式正确!");

}

运行截图:

posted on 2018-03-18 00:04  Anno安诺  阅读(211)  评论(0编辑  收藏  举报