zoukankan      html  css  js  c++  java
  • 作业五 关于封装与测试 拿我小学生四则运算为例

    我的封装:

     1 class yy
     2 {
     3     private int max=4;
     4     private int min=1;
     5     private double w2,m2;
     6     private String ff;
     7     Random random = new Random();
     8 
     9     //System.out.println(s); 
    10     public yy()
    11     {
    12     int s = random.nextInt(max)%(max-min+1) + min;
    13 
    14     double x=random.nextInt(max-2)%(max-2-min+1) + min;
    17     double y=random.nextInt(max-1)%(max-1-min+1) + min;
    18     int y1up=(int) Math.pow(10,x);
    19     int y1dn=(int) Math.pow(10,x-1);
    20     int y2up=(int) Math.pow(10,y);
    21     int y2dn=(int) Math.pow(10,y-1);
    22     int x_y1=random.nextInt(y1up)%(y1up-y1dn+1) + y1dn;
    23     int x_y2=random.nextInt(y2up)%(y2up-y2dn+1) + y2dn;
    24     double w=(double)x_y1;
    25     double m=(double)x_y2;
    26     this.w2=w;
    27     this.m2=m;
    28     switch(s)
    29     {
    30     case 1:
    31     {
    32     this.ff="+"; 
    33     System.out.println(w+"+"+m+"=" );
    34     break;
    35     }
    36     case 2:
    37     {
    38     this.ff="-";
    39     System.out.println(w+"-"+m+"=" );
    40     break;
    41     }
    42     case 3:
    43     {
    44     this.ff="*";
    45     System.out.println(w+"*"+m+"=" );
    46     break;
    47     }
    48     case 4:
    49     {
    50     this.ff="/";
    51     System.out.println(w+"/"+m+"=" );
    52     break;
    53     }
    54 
    55     }
    56     }
    57     public double ret1()
    58     {
    59         return w2;
    60     }
    61     public double ret2()
    62     {
    63         return m2;
    64     }
    65     public String ret3()
    66     {
    67         return ff;
    68     }
    69 }
    这里的封装是用来 弄出 四则运算的 第一个数字,运算符号,第二个数字
    本来想把答案和判断对错等也封装到里面的但因为面板要记录输入输出的关系就没拿进来,就在主类上用构造方法解决。

    下面来测试
    白盒法:
    测试数据 1.填正确数字
         2.填错误数字
         3.填字母
    情况如下

    结果表明我的程序对输入非数字有漏洞 要补

    黑盒法:

    对程序结构算术检测

    测试数据 将第一个数设为6 第二个设为3 采用加减乘除

    
    
    检测答案

  • 相关阅读:
    STM32 变量无法赋值问题
    ROS 多台计算机联网控制机器人
    Content-Disposition
    Arrays.asList()与toArray()
    length与size()
    computeIfAbsent
    共享锁、排他锁与意向锁
    行锁、页面锁与表锁
    classpath是什么
    start、run、join
  • 原文地址:https://www.cnblogs.com/vip-fan1234xiang/p/4469658.html
Copyright © 2011-2022 走看看