软工作业PSP与单元测试训练

任务说明(二选一):

一、实现模块判断传入的身份证号码的正确性;

二、实现模块判断传入的电子邮箱账号的正确性;

实现要求:

一、实现功能模块;

二、针对所实现的模块编写对应的单元测试代码;

三、需要按PSP流程进行工作量估算,填写任务清单工作量估算表。

实现模块判断传入的电子邮箱账号的正确性:

单元测试代码:

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);
System.out.println("输入你要验证的邮箱:");
String mail = sc.next();
// 输入的内容不能为空
if (!mail.trim().isEmpty()) {
System.out.println("你输入的内容不为空");
}
//@出现的下标
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);
}
//判断@前面是否是1到40个字符
if(!(atIndex >= 1 && atIndex <= 40)) {
System.out.println("此邮箱格式错误!");
System.exit(0);
}
//判断@到.是否为只能是1到40个字符
if(!(fullIndex - atIndex - 1 >= 1 && fullIndex - atIndex - 1 <= 40)) {
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-16 14:20  RUSh_A  阅读(103)  评论(0编辑  收藏  举报