• 第三次作业


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

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

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

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

    package cn.chen.guan;

    /*

     * @author 陈重冠

     */

    public class GetNum {

         public static int maxnum(int num1,int num2){

              while(num1%num2!=0){

                int temp=num1%num2;

                num1=num2;

                num2=temp;

                }

                return num2;

                }

    }

    package cn.chen.guan;

    import java.util.Scanner;

    public class TestGetNum {

                /**

                 * @param args

                 */

                public static void main(String[] args) {

                  // TODO Auto-generated method stub

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

            Scanner input1=new Scanner(System.in);

            int a=input1.nextInt();

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

            Scanner input2=new Scanner(System.in);

            int b=input2.nextInt();

            System.out.println(GetNum.maxnum(a, b));

                }

    }

    2、 逻辑覆盖的应用

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

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

    package cn.chen.chong;

     /*

      * @author 陈重冠

      */

    public class Mycode {

                 public static void getxy(int x ,int y){

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

                          if(y>1){

                                 y=y+1;

                                System.out.println(y);

                          }

                          

                   }

                   else{

                          if(x>=5){

                                 x=x-y;

                                System.out.println(x);

                          }

                          else{

                                 x=x+y;

                                System.out.println(x);

                          }

                   }

                 

                 }

    }

    package cn.chen.chong;

    import java.util.Scanner;

    public class TestMycode {

                /**

                 * @param args

                 */

                public static void main(String[] args) {

                  // TODO Auto-generated method stub

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

            Scanner input1=new Scanner(System.in);

            int a=input1.nextInt();

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

            Scanner input2=new Scanner(System.in);

            int b=input1.nextInt();

            Mycode.getxy(a, b);

                }

    }

    语句覆盖

    X=3,Y=2 路径为abc

    X=5,Y=-1 路径为aef

    X=4,Y=-1路径为aeg

    分支覆盖

    X=3,Y=1路径为abd

    X=3,Y=2路径为abc

    X=5,Y=-1路径为aef

    X=4,Y=-1路径为aeg

  • 相关阅读:
    闭包
    laravel 控制器
    laravel 模板
    laravel 视图
    laravel 请求
    laravel 分页
    解决启动Apache遇到的问题Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:8888
    一张号称一篇程序覆盖Python基础的代码
    [转载]激活Navicat Premium
    C语言自定义函数的形参为数组时需要注意传入长度
  • 原文地址:https://www.cnblogs.com/guan0714/p/5386786.html
Copyright © 2020-2023  润新知