20155205 《Java程序设计》实验二(Java面向对象程序设计)实验报告
20155205 《Java程序设计》实验二(Java面向对象程序设计)实验报告
一、实验内容及步骤
(一)单元测试
(1)三种代码
举例:我们要在一个
MyUtil
类中解决一个百分制成绩转成“优、良、中、及格、不及格”五级制成绩的功能。测试结果:
(2)TDD(Test Driven Devlopment, 测试驱动开发)
- 测试结果:
- 参考StringBuffer的用法加强理解。
(二)面向对象三要素
(1) 抽象
(2) 封装、继承与多态
- 使用StarUML对实验二中的代码进行建模,发类图的截图,加上学号水印。
(三)设计模式初步
对设计模式示例进行扩充,体会OCP原则和DIP原则的应用,初步理解设计模式。让系统支持Double类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印。
二、实验练习:使用TDD的方式设计关实现复数类Complex
必备知识
- 参考复数运算法则。
设计内容
- 伪代码
复数运算:
定义复数
定义构造函数
定义共有方法:加减乘除
- 产品代码
public class Complex{
private double r;
private double i;
public Complex(double r, double i) {
this.r = r;
this.i = i;
}
public static double getRealPart(double r) {
return r;
}
public static double getImagePart(double i) {
return i;
}
public Complex ComplexAdd(Complex a) {
return new Complex(r + a.r, i + a.i);
}
public Complex ComplexSub(Complex a) {
return new Complex(r - a.r, i - a.i);
}
public Complex ComplexMulti(Complex a) {
return new Complex(r * a.r - i * a.i, r * a.i + i * a.r);
}
public Complex ComplexDiv(Complex a) {
return new Complex((r * a.i + i * a.r)/(a.i * a.i + a.r * a.r), (i * a.i + r * a.r)/(a.i * a.i + a.r * a.r));
}
public String toString() {
String s = " ";
if (i > 0)
s = r + "+" + i + "i";
if (i == 0)
s = r + "";
if (i < 0)
s = r + " " + i + "i";
return s;
}
}
- 测试代码
三、总结与分析
(一)遇到的问题及解决方案
- 问题1:在自己的file里找不到settings,上网查也找不到。
- 问题1解决方案:后来在开始页面的configure设置里找到了plugins,再选其中的browse,就能设置了
- 问题2:在测试stringbuffer时,总是出现这样的情况:
- 问题2解决方案:看了一下Intellj IDEA 简易教程中的测试代码,更改了一下test里类的名字,把T改成t,便能成功运行。
- 问题3:在starUML中add一个operation时找不到type
- 问题3解决方案:直接写名字的时候加上。但是()就会出现在最后而不是中间。
(二)PSP
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 20min | 16% |
设计 | 30min | 24% |
代码实现 | 50min | 40% |
测试 | 5min | 4% |
分析总结 | 20min | 16% |
(三)总结单元测试的好处
- 就我个人的感受而言,单元测试提供了一种高效快速的测试代码正确性的方法。一开始不知道怎么做,参考了关于单元测试。自己有了很多思考,成长了许多。
20155205 《Java程序设计》实验二(Java面向对象程序设计)实验报告的更多相关文章
- 20155202 《Java程序设计》实验二(面向对象程序设计)实验报告
20155202 <Java程序设计>实验二(面向对象程序设计)实验报告 代码托管 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉 ...
- 20155239《Java程序设计》实验二(面向对象程序设计)实验报告
实验内容 初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装.继承.多态 3.初步掌握UML建模 4.熟悉S.O.L.I.D原则 5.了解设计模式 实验步骤 单元测试 1.三种代码: 伪代码 ...
- 实验二 Java面向对象程序设计
实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计 ...
- 20145213《Java程序设计》实验二Java面向对象程序设计实验报告
20145213<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装,继承,多态 初步掌握UML建模 熟悉S.O. ...
- 20145206《Java程序设计》实验二Java面向对象程序设计实验报告
20145206<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...
- 20145308刘昊阳 《Java程序设计》实验二 Java面向对象程序设计 实验报告
20145308刘昊阳 <Java程序设计>实验二 Java面向对象程序设计 实验报告 实验名称 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面相对象三要素:封 ...
- 20145113 实验二 Java面向对象程序设计
20145113 实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 1.初 ...
- JAVA课程实验报告 实验二 Java面向对象程序设计
北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1353 姓名:韩玉琪 学号:20135317 成绩: 指导教师:娄嘉 ...
- 20145225唐振远 实验二 "Java面向对象程序设计"
20145225<Java程序设计> 实验二 Java面向对象程序设计 实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S ...
- 20145208 实验二 Java面向对象程序设计
20145208 实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步 ...
随机推荐
- 如何将python中的List转化成dictionary
问题1:如何将一个list转化成一个dictionary? 问题描述:比如在python中我有一个如下的list,其中奇数位置对应字典的key,偶数位置为相应的value list : ['品牌', ...
- 在ALV界面添加下拉框
1.在alv界面表单属性中设置 if wa_fieldcat-fieldname = 'YC_MARK'. wa_fieldcat-edit = 'X'. ...
- ThreadExecutorPool 线程池组件
ThreadExecutorPool是使用最多的线程池组件: Executor是用来执行提交的Runnable任务的对象,并以接口的形式定义,提供一种提交任务(submission task)与执行任 ...
- 比特币运行原理[z]
https://baijiahao.baidu.com/s?id=1581755535769652543&wfr=spider&for=pc 这篇文章主要讲解比特币是什么?它的运行原理 ...
- Oracle存储过程in、out、in out 模式参数
Oracle存储过程in.out.in out 模式参数 标签: oracle存储inout参数 2016-11-14 11:59 3272人阅读 评论(0) 收藏 举报 分类: oracle(7) ...
- 5E - A + B Again
There must be many A + B problems in our HDOJ , now a new one is coming. Give you two hexadecimal in ...
- Luogu 2051[AHOI2009]中国象棋 - DP
Description 在 $n * m$ 的格子上放若干个炮, 使得每个炮都不能攻击到其他炮 Solution 定义数组f[ i ][ j ][ k ] 表示到了第 i 行, 已经有2个炮的列数为 ...
- 会调色了不起吗? SORRY,会调色真的了不起!
其实,现实的世界,大部分都是非常普通和常见的.所以调色师才有他们发挥的空间.如何把镜头中的世界变成梦幻一般. 把画面的颜色统一之后,逼格马上提升了很多! 发现表情不对,从其他照片把表情P回来,哈哈 这 ...
- [Robot Framework] 校验字符串中是否包含某个子字符串,校验同时满足两个条件中任意一个
${tWarningMessage} Run Keyword If ${tIfExist} AutoItLibrary.Win Get Text Generate Fee Data warning m ...
- [FreeMind] 绘制思维时遇到的常见问题解决办法
如何改变节点的摆放方向? 如果是新建节点,选择要放置节点的那一侧,按enter键,或者鼠标右键,插入平行节点即可. 如果是已经建好的节点,可以用ctrl+x, ctrl+v粘贴到另一边,或者选中子节点 ...