• 实验三


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

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

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

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

    import java.util.Scanner;

    /**

     * 计算整数X和整数Y的最大公约数。

     * @author 洪曙鹏

     *

     */

     

    public class CalGCD {

        //创建一个名为GCD的方法,初始化两个数字

        public void GCD(int num1,int num2){

           int result=0;

           //输入的两个数字从1开始进行正除,每次叠加1,i要小于num1和num2中的最小数

           for(int i=1;i<(num1<num2?num1:num2);i++){

               //如果num1和num2整除于i余数为0,结果即为最大公约数

               if(num1%i==0&&num2%i==0){

                  result = i;

               }

           }

           System.out.println(num1+"与"+num2+"的最大公约数是"+result);

        }

        public static void main(String[] args){

        Scanner scan = new Scanner(System.in);

        System.out.println("请输入第一个整数:");

        int num1 = scan.nextInt();

        System.out.println("请输入第二个整数:");

        int num2 = scan.nextInt();

        CalGCD calGCD = new CalGCD();

        calGCD.GCD(num1, num2);

    }

    }

     

    2、 逻辑覆盖的应用

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

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

     

       

    import java.util.Scanner;

     

     

    public class text2 {

     

        /**

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

         * @param 洪曙鹏

         */

        //定义一个方法

        public void LogicCover(int x,int y){

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

                  y = y + 1;

               }

           }else if(x>=5){

               x = x - y;

           }else{

               x = x + y;

           }

           System.out.println("X为:"+x+",Y为:"+y);

        }

        public static void main(String[] args) {

           // TODO Auto-generated method stub

           Scanner scan = new Scanner(System.in);

           System.out.println("请输入整数X:");

           int x = scan.nextInt();

           System.out.println("请输入整数Y:");

           int y = scan.nextInt();

           text2 t = new text2();

           t.LogicCover(x, y);

        }

     

    }

     

    语句覆盖

    路径abc x =3 y =2   结果x=3,y=3

     

    单元测试:

    分支覆盖

    路径abd  x=3 y=-1  结果x=3,y=-1

     

    单元测试:

     

  • 相关阅读:
    初学者一些常用的SQL语句(一)
    java小知识
    ArrayList底层实现原理
    JVM原理
    一个简单的登陆注册页面(希望可以帮到您)
    数据结构
    C++/C
    C的函数指针与指针函数
    函数指针与指针函数
    对数据库通用性的更新操作(ssh)
  • 原文地址:https://www.cnblogs.com/hsp1/p/5383603.html
Copyright © 2020-2023  润新知