一找出函数中存在的问题
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 |