作业五 关于封装与测试 拿我小学生四则运算为例

我的封装:

 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 采用加减乘除


检测答案
时间: 2024-12-14 23:14:40

作业五 关于封装与测试 拿我小学生四则运算为例的相关文章

作业五:封装与测试

1 import java.awt.Dimension; 2 import java.awt.FlowLayout; 3 import java.awt.GridLayout; 4 import java.awt.Toolkit; 5 import java.awt.event.ActionEvent; 6 import java.awt.event.ActionListener; 7 8 import javax.swing.JButton; 9 import javax.swing.JFra

作业五 四则元算 测试与封装

未封装的程序: import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Size { public static void main(String[] args) { // TODO Auto-generated method stub myframe f=new myframe(); } } class myframe extends JFrame { JLabel L1=new JLabel

C#开发微信门户及应用(23)-微信小店商品管理接口的封装和测试

在上篇<C#开发微信门户及应用(22)-微信小店的开发和使用>里面介绍了一些微信小店的基础知识,以及对应的对象模型,本篇继续微信小店的主题,介绍其中API接口的封装和测试使用.微信小店的相关对象模型,基本上包括了常规的商品.商品分组.货架.库存.订单这些模型,还有商品分类,商品分类属性.商品分类SKU.快递邮寄模板.图片管理等功能.本文介绍的接口封装也就是基于这些内容进行的,并针对接口的实现进行测试和使用. 1.商品管理接口的定义 前面文章介绍了微信小店的对象模型,如下所示. 这个图形基本上覆

作业五 测试与封装

封装类 package com.szys.junit; public class Packaging { int m; int n; public T(int m,int n) { this.m=m; this.n=n; } public int add() { return m + n; } public int minus() { return m - n; } public int mul() { return m * n; } public int div()throws Excepti

软件质量保证与测试(作业五)

部署图(本周项目所分配的任务) 一.部署图的简介 部署图用来描述系统运行时候的结构,展示了硬件如何配置及其软件如何部署到网络结构中.从部署图中,我们可以了解到软件和硬件组件之间的物理关系. 二.部署图的构成 1.结点 一个结点,通常描述成一个立体的盒子,由一个矩形旁边伸出两个小矩形组成.通常它表示一个计算设备. 2.结点实例 结点实例名称格式如下 Node Instance : node,它与结点的区别就是名称有下划线和结点类型前面有冒号. 3.组件 组件(Component)是对数据和方法的简

作业5.2(封装及测试)

开发环境:eclipse 结对同伴 :37 施少涛 同伴博客:http://www.cnblogs.com/shishaotao/ 预计用时:半天 实际用时:1天 新增功能:1.空值异常处理 2.做错题目可提示做错并给出正确答案 3.可继续做题 import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.

《软件工程》第二次作业:编写小学生四则运算测试软件

一.题目: 请编写一个能自动生成小学四则运算题目的 “软件”. 让程序能接受用户输入答案,并判定对错. 最后给出总共以及 对/错      的数量. 二.基本要求: 所编写出来的“软件”选择界面设计,选择加.减.乘.除运算. 系统随机产生一百以内的两个数进行运算. 使用该软件时,用户从键盘输入结果,回答正确和回答错误都有提示,结束后系统会自动给出相应的总题数和 对/错 的数量. 三.需求分析: 程序能实现0~100以内的加法.减法.乘法以及除法的运算. 用户能在java控制窗口输入自己的答案,该

作业五之系统设计时所实现的质量属性战术

一.可用性战术 恢复或修复错误是可用性的重要方面 战术:异常,识别错误的一个方法就是遇到了异常,异常战术在一个进程中操作. 写action时需要加上异常处理,异常处理常被用到与数据库交互的地方,也是传递操作信息的好方法,比如保存成功或失败了都可以用抛出异常和接受异常来处理要显示的信息. 二.易用性战术 易用性战术与用户完成期望任务的难易程度以及系统为用户提供的支持种类有关.我们的系统填报信息时需要必要的智能联想. 三.可修改性战术 战术:维持语义的一致性,某一个模块只负责一小部分的功能.将系统分

5.1(封装,测试)

程序源代码(简单Java版): package arrays.myArray; import java.util.Scanner; public class SortObject { private static int intercePosition = 0; // 记录单个运算数据的长度 private static int[] intercePositionIndex = null; // 记录“(”的下标 private static int[] intercePositionEnd =