实验3

1、 计算整数X和整数Y的最大公约数。(不允许采用课堂上所用的方式实现)

l  请用类和方法(写一个求最大公约数的方法)实现,命名时请按照规范命名。

l  在main方式中获取用户输入的两个整数,调用之前写的方法,输出它们的最大公约数。

l  利用FindBugs查找程序中是否存在bug。

Demo类

package cn.yu.test;

 

public class Demo {

 

    /**

     * @param args

     */

    public static void main(String[] args) {

       // TODO Auto-generated method stub

           Method m =new Method();

           m.index();

    }

 

}

Method

package cn.yu.test;

 

public class Method {

    public void index(){

    int n=24,t=60;

    int min =Math.min(n, t);

    for(int k=min;k>0;k--){

       if(n%k==0 && t%k==0){

       System.out.println(n+"和"+t+"的最大公约数为:"+k);

       return;

    }

}}

}

 

 

 

 

 

 

 

 

2、 逻辑覆盖的应用

l  按照所给的程序流程图,写出Java代码(用类和方法实现)

l  写出语句覆盖、分支覆盖的测试用例,以及它所覆盖的路径,用JUnit编写测试用例进行测试

 

l  测试用例(语句覆盖):

x

y

结果

路径

3

2

Y+1=3 x=3

abd

3

1

不变

abc

6

-1

x-y=7

aeg

4

-1

X+y=3

aef

 

l  测试用例(分支覆盖):

X<4 or y>0

x>5

Y>1

用例

结果

路径

T

F

 

X=3,y=1

不变

abc

T

T

 

X=3,y=2

Y+1=3 x=3

adb

F

 

F

X=6,y=-1

x-y=7

aeg

F

 

T

X=4,y=-1

X+y=3

aef

 

 

 

 

代码

package cn.yu.test;

public class Methods {

       public void indexs(){

           int x = 5,y = 6;

           if(x<4 || y>0){

              if(y>1){

                  y=y+1;

                  System.out.println("x结果是:"+x);

                  System.out.println("y+1结果是:"+y);

              }

              else{

                  System.out.println("x结果是:"+x);

                  System.out.println("y结果是:"+y);

              }

           }

           else{

              if(x>=5){

                  x=x-y;

                  System.out.println("x-y结果是:"+x);

              }

              else{

                  x=x+y;

                  System.out.println("x+y结果是:"+x);

              }

           }

          

       }

}

package cn.yu.test;

 

public class Demo {

 

    /**

     * @param args

     */

    public static void main(String[] args) {

       // TODO Auto-generated method stub

           Methods m =new Methods();

           m.indexs();

    }

 

}

 

posted @ 2016-05-20 13:56  小帅001  阅读(84)  评论(0编辑  收藏  举报