一找出函数中存在的问题

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