• 实验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();

        }

     

    }

     

  • 相关阅读:
    Golang---反射(reflect)
    golang--交替打印一个数组中的元素
    Golang---基本类型(interface)
    利用random5 生成 random7
    Golang---基本类型(map)
    Golang---基本类型(slice)
    Golang---基本类型(string)
    二维码扫码登录原理
    Golang---内存逃逸
    关于我
  • 原文地址:https://www.cnblogs.com/a4yy/p/5511868.html
Copyright © 2020-2023  润新知