白盒测试题目
题目3:进行系统注册时通常需要输入用户名和密码,其中用户名要求由大写字母开头的8个字母字符组成、密码由8个(含8)以上数字字符组成。满足要求,则提示“注册成功”;密码不正确提示“密码不符合要求”;用户名不正确提示“用户名不符合要求”。编写程序实现注册信息的输入,并设计最少的测试数据进行判定覆盖测试。输入数据打印出“输入用户名:”、“输入密码:”。
分析要求:
用户名:
由大写字母开头的8个 字母 字符组成
不能以数字开头
密码:
由8个(含8)以上 数字 字符组成
效果展示:
package test;
import java.util.Scanner;
public class testttt {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入用户名:");
Scanner sc=new Scanner(System.in);
String name=sc.nextLine();
/**
* 验证用户名
* while循环控制直到输入合法为止
*/
while(!checkName(name)) {
System.out.println("用户名不合法,请重新输入:");
name=sc.next();
}
/**
* 验证密码
*/
System.out.println("请填写密码:");
String pwd = sc.next();
while(!checkPwd(pwd)) {
System.out.println("密码不合法,请重新输入:");
pwd=sc.next();
}
System.out.println("注册成功!");
}
/**
* 用户名验证
* @param name
* @return
*/
public static boolean checkName(String name) {
// String regExp = "^[^0-9][\\w_]{5,9}$";
String regExp = "^[A-Z][a-z]{7}$";
if(name.matches(regExp)) {
return true;
}else {
return false;
}
}
/**
* 密码验证
* @param pwd
* @return
*/
public static boolean checkPwd(String pwd) {
// String regExp = "^[\\w_]{6,20}$";
String regExp = "^[0-9]{8,}$";
if(pwd.matches(regExp)) {
return true;
}
return false;
}
}
思路
用户名:由大写字母开头的8个 字母 字符组成。^[A-Z][A-Za-z]{7}$
该规则表示匹配大写字母开头,后续是小写字母或大写字母都可,长度限制为8位。
密码:由8个(含8)以上 数字 字符组成。 ^[0-9]{8,}$
该规则表示匹配0-9数字组成,长度为8位或以上。