• 第三次作业


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

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

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

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

     1 public class HCF {
     2     public static int getHCF(int a ,int b){
     3         int hcf=1;
     4         int min;
     5         int max;
     6         if(a>b){
     7             min=b;
     8             max=a;
     9         }else{
    10             min=a;
    11             max=b;
    12         }
    13         for(int i=min;i>0;i--){
    14             if(min%i==0){
    15                 if(max%i==0){
    16                     hcf=i;
    17                     break;
    18                 }
    19             }
    20         }    
    21         return hcf;
    22     }
    23 }

    main

    import java.util.Scanner;
    public class Demo {
        public static void main(String[] args) {
            System.out.println("请输入两个整数:");
            Scanner scanner = new Scanner(System.in);
            int a=scanner.nextInt();
            int b=scanner.nextInt();
            System.out.println("最大公约数为:"+HCF.getHCF(a, b));
        }
    }

    findbugs显示不存在bug

    2、 逻辑覆盖的应用

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

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

      语句覆盖:

     

    x

    y

    路径

    预期结果

    1

    4

    -1

    aeg

    X=3,y=-1

    2

    5

    -1

    aef

    X=6,y=-1

    3

    0

    2

    abc

    X=0,y=1.5

      分支覆盖(判定覆盖)

     

    x

    y

    路径

    预期结果

    1

    4

    -1

    aeg

    X=3,y=-1

    2

    5

    -1

    aef

    X=6,y=-1

    3

    0

    1

    abd

    X=0,y=1

    4

    0

    2

    abc

    X=0,y=3

    实现代码:
    1
    public class demo2 { 2 3 4 public static void demo(int x,int y){ 5 if(x<4 || y>0){ 6 if(x>1){ 7 y+=1; 8 } 9 }else { 10 if(x>=5){ 11 x-=y; 12 }else{ 13 x+=y; 14 } 15 } 16 System.out.println("x="+x+",y="+y); 17 18 } 19 }

    测试

    @Test
     public void test() {
      int x=4;
      int y=-1;
      demo2.demo(x, y);
     }

  • 相关阅读:
    Python学习---文件操作的学习1208
    Python实例---三级菜单的实现[high]
    Python实例---三级菜单的实现[low]
    Python学习---Python下[set集合]的学习
    Python学习---深浅拷贝的学习
    Python学习---Python下[字符串]的学习
    Python学习---Python下[字典]的学习
    Python实例---简单购物车Demo
    Python学习---Python下[元组]的学习
    Python学习---Python下[列表]的学习
  • 原文地址:https://www.cnblogs.com/mjrj-ng/p/5390777.html
Copyright © 2020-2023  润新知