一找出函数中存在的问题
1
问题:
if(userName.equals("admin") || userName.equals("administrator"))
{
userRole="admin"; }原因:
只填了用户名,不管你填了还是没填密码,都可以直接跳转到欢迎界面,没有判断密码为空时候的情况。
修改:
public String getUserRole(String username, String password){
String userRole="visitor";
If( password!==null && !“”.equals(password)){
if(userName.equals("admin")||userName.equals("administrator"){
userRole="admin";
}
return userRole;
else{
return userRole;
}
}
else{
return userRole;
}
2.
问题:
没有填用户,填了用户的类型为字符串,超出一定规定的年龄都会发生错误
原因:
没有判断用户类型和非空情况
修改:
public boolean validateUserAge(String userAge) throws Exception{
if(Integer.parseInt(userAge)<18 || Integer.parseInt(userAge)>26){
return true;
}
else
{
throw new Exception("您的输入方式不正确,请重新输入");
}
}
}
3、某程序规定:"输入三个非0正整数 a 、 b 、 c 分别作为三边的边长构成三角形(暂不考虑特殊三角形的情况)。请根据给出的说明,用等价类划分法进行划分,并给每个等价类规定唯一的编号。
有效等价类 | 编号 | 无效等价类 | 编号 |
输入三个数 | 1 | 只输入一个数a | 6 |
只输入一个数b | 7 | ||
只输入一个数c | 8 | ||
只输入两位数a,b | 9 | ||
只输入两位数a,c | 10 | ||
只输入两位数b,c | 11 | ||
输入超过三位数 | 12 | ||
非零数 | 2 | 数a为0 | 13 |
数b为0 | 14 | ||
数c为0 | 15 | ||
数a,b为0 | 16 | ||
数a,c为0 | 17 | ||
数b,c为0 | 18 | ||
数a,b,c都为0 | 19 | ||
正数 | 3 | a<0 | 20 |
b<0 | 21 | ||
c<0 | 22 | ||
a<0,b<0 | 23 | ||
a<0,c<0 | 24 | ||
b<0,c<0 | 25 | ||
a<0,b<0,c<0 | 26 | ||
整数 | 4 | a是非整数 | 27 |
b是非整数 | 28 | ||
c是非整数 | 29 | ||
a,b是非整数 | 30 | ||
b,c是非整数 | 31 | ||
a,c 是非整数 | 32 | ||
a,c,b 是非整数 | 33 | ||
两边之和大于第三边 | 5 | a+b<0 | 34 |
a+c<0 | 35 | ||
c+b<0 | 36 | ||
a+b=0 | 37 | ||
a+c=0 | 38 | ||
c+b=0 | 39 |