第三次作业

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

 

posted on 2016-04-13 13:30  牵着空气  阅读(117)  评论(0编辑  收藏  举报