实验三

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

import java.util.Scanner;

public class Exp {

    /**

     * 求两数最大公约数

     */

    public static void wa(int a,int b)

    {

       if(a>b)

       {

          

           while(a%b!=0)

           {

              int r=a%b;

              a=b;

              b=r;

           }

       }

       System.out.println("最大公约数:"+b);

    }

    public static void main(String[] args) {

       // TODO Auto-generated method stub

    //测试语句

       int a,b;

       System.out.println("请输入两个数:");

       Scanner scanner = new Scanner(System.in);

       a = scanner.nextInt();

       b = scanner.nextInt();

       wa(a,b);

    }


2、 逻辑覆盖的应用

按照所给的程序流程图,分别写出语句覆盖、分支覆盖的测试用例,以及它所覆盖的路径

语句覆盖:需要三条路径:a-e-g ,  X=4.5,Y=0;  a-e-f,X=5  Y=0;

以及a-b-c  X=4   Y=2

分支覆盖:需要四条路径:

a-b-c   X=3  Y=2;     a-b-d   X=3  Y=1

a-e-f   X=5  Y=1;     a-e-g   X=4  Y=1

l  附加题:根据程序流程图,写出代码(定义一个类和方法来实现),用JUnit生成单元测试,并利用前面设计的测试用例进行测试。

代码如下:

public static void Hi(float x,float y)

    {

       if(x<4||y>0)

       {

           If(y>1)

           {y=y+1;}

           Else{break;}

}

else

{

    If(x>=5)

    {

       x=x-y;

}

else{x=x+y;}

}

       System.out.println("x="+x);

       System.out.println("y="+y);

    }

    public static void main(String[] args) {

      float x,y;

       System.out.println("请输入两个数:");

       Scanner scanner = new Scanner(System.in);

       x = scanner.nextFloat();

       y = scanner.nextFloat();

       Hi(float x,float y);

}

原文地址:https://www.cnblogs.com/u914155/p/5393686.html