我的封装:
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 采用加减乘除
检测答案