2018-2019-2 学号20175223 实验二《Java面向对象程序设计》实验报告
北京电子科技学院(BESTI)实验报告
| 课程:Java2实用教程 | 班级:201752 | 姓名:姚明宇 | 学号:20175223 |
|---|---|---|---|
| 成绩: | 指导教师:娄嘉鹏 | 实验日期:4月19日 | |
| 实验密级: | 预习程度: | 实验时间: | |
| 仪器组次: | 必修/选修:选修 | 实验序号: |
目录
实验名称:实验二 面向对象程序设计
实验仪器:
| 名称 | 型号 | 数量 |
|---|---|---|
| PC端 | 1 |
实验内容、步骤与体会:
一、实验二 面向对象程序设计-1
参考 http://www.cnblogs.com/rocedu/p/6371315.html#SECUNITTEST
参考http://www.cnblogs.com/rocedu/p/6736847.html
提交最后三个测试用例都通过的截图,截图上要有画图加水印,输入自己的学号。

二、实验二 面向对象程序设计-2
参考 积极主动敲代码,使用JUnit学习Java (http://www.cnblogs.com/rocedu/p/4837092.html)
参考http://www.cnblogs.com/rocedu/p/6736847.html
以 TDD的方式研究学习StringBuffer,提交你的单元测试用例和测试通过的截图,截图要加上学号水印。


三、实验二 面向对象程序设计-3
实验二 Java面向对象程序设计(http://www.cnblogs.com/rocedu/p/4472842.html)
参考http://www.cnblogs.com/rocedu/p/6736847.html
对设计模式示例进行扩充,体会OCP原则和DIP原则的应用,初步理解设计模式
用自己的学号%6进行取余运算,根据结果进行代码扩充:
4: 让系统支持Float类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印(学号为20175223,23%6=5;任务为0~5六个任务中的4)

四、实验二 面向对象程序设计-4
提交:单元测试代码和运行成功截图及码云上代码链接,截图要加上学号水印
参考http://www.cnblogs.com/rocedu/p/6736847.html
任务:以TDD的方式开发一个复数类Complex,要求如下:
| 定义属性并生成getter,setter | 定义构造函数 | Override Object | 定义公有方法:加减乘除 |
|---|---|---|---|
| double RealPart; | public Complex() | public boolean equals(Object obj) | Complex ComplexAdd(Complex a) |
| double ImagePart; | public Complex(double R,double I) | public String toString() | Complex ComplexSub(Complex a) |
| Complex ComplexMulti(Complex a) | |||
| Complex ComplexDiv(Complex a) |

五、实验二 面向对象程序设计-5
使用WhiteStarUML对实验二中的代码进行建模,发类图的截图,加上学号水印。
参考http://www.cnblogs.com/rocedu/p/6736847.html
类图中只少两个类。

六、代码链接
码云仓库:YogileOne https://gitee.com/Yogile/YogileOne.git
在 2018-2019-第2学期\Java 程序设计基础 文件夹中。
码云网页链接:javaexam2
实验过程中遇到的问题以及解决方案
1. 问题:junit 无法使用。

解决方案:
鼠标选中 TestCase ,点击红色灯泡,选择 Create class TestCase ,在窗口中点击 OK 即可。


2. 问题:单元测试中,测试方法时报错。
@Test
public void TestcomplexAdd() throws Exception {
test0.complexAdd(test1,test2);
assertEquals("11.0+ 11.0i",test0.toString());
test0.complexAdd(test3,test4);
assertEquals("-50.0+ -50.0i",test0.toString());
}
报错如下
C:\Java\jdk1.8.0_102\bin\java.exe...
java.lang.Exception: No tests found matching Method TestcomplexAdd(ComplexTest) from org.junit.internal.requests.ClassRequest@4edde6e5
at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:40) <4 internal calls>
Process finished with exit code -1
解决方案:
单元测试中,测试方法时,方法名必须为 小写开头。
public void testcomplexAdd() throws Exception {
3. 注意:
- (1) 单元测试中,测试方法时,方法前必须有
@Test; - (2) 要熟练使用 java.unit.Assert 中的方法:assertEquals 等。
体会
单元测试可以通过更简单地方式更方便地进行代码测试,效率极大地提高。
PSP
| 步骤 | 耗时 | 百分比 |
|---|---|---|
| 需求分析 | 5min | 5% |
| 设计 | 10min | 10% |
| 代码实现 | 35min | 35% |
| 测试 | 40min | 40% |
| 分析总结 | 10min | 10% |
2018-2019-2 学号20175223 实验二《Java面向对象程序设计》实验报告的更多相关文章
- 实验二Java面向对象程序设计实验报告(2)
实验二 Java面向对象程序设计 实验概述: 课程:程序设计与数据结构 班级:1623班 姓名: 邢天岳 学号:2309 指导老师:娄老师 王老师 实验日期:2017.4.16 实验名称: Java面 ...
- 实验二 Java面向对象程序设计实验报告
实验二 Java面向对象程序设计 实验内容 1.初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装.继承.多态 3.初步掌握UML建模 4.熟悉S.O.L.I.D原则 5.了解设计模式 实验 ...
- 20155217 实验二 Java面向对象程序设计 实验报告
20155217 实验二 Java面向对象程序设计 实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模 ...
- 20162305 实验二 Java面向对象程序设计 实验报告
20162305 实验二 Java面向对象程序设计 实验报告 实验内容 1.初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装.继承.多态 3.初步掌握UML建模 4.熟悉S.O.L.I.D ...
- 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 理解并掌握面相对象三要素:封 ...
- 20162311 实验二 Java面向对象程序设计 实验报告
实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计 ...
- 20145326《Java程序设计》实验二Java面向对象程序设计实验报告
20145326<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...
- 20145219 《Java程序设计》实验二 Java面向对象程序设计实验报告
20145219 <Java程序设计>实验二 Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S. ...
随机推荐
- springboot缓存注解——@CacheEvict
@CacheEvict:缓存清除 可以通过key指定清除的数据 如果不写默认参数的值 allEntries = true (是否删除该缓存名中所有数据,默认为false) beforeInvocati ...
- 如何解锁亚马逊A9的新算法?
亚马逊每一次变动总能在跨境圈里掀起一场场风波,最近A9算法的更新更是牵动着不少卖家的心. A9算法是亚马逊运行的内核算法,只要消费者在亚马逊上面搜索了商品,那么他就已经开始使用了A9算法,通过分析每一 ...
- C# 动态生成的按钮及定义按钮的事件的代码
内容闲暇时间,把内容过程中比较常用的内容备份一下,如下的内容内容是关于C# 动态生成的按钮及定义按钮的事件的内容,应该对码农们也有用途. HtmlGenericControl control = ne ...
- every、some数组方法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Centos6与Centos7安装和使用htop
Centos6 安装 rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/epel/6/x86_64/epel-release-6-8.noarch.rpm r ...
- 6354 Everything Has Changed
Edward is a worker for Aluminum Cyclic Machinery. His work is operating mechanical arms to cut out d ...
- Linux Shell基线配置高级操作
一.输入解析类 1.1 echo解析tab和换行 问题描述:echo默认是原样输出字符串,并不解析\t和\n等反斜杠字符,如下图所示.我们希望echo能解析\t和\n等字符. 处理办法:可以使用-e指 ...
- ThreadLocal之我所见
网上有很多关于ThreadLocal的文章,大部分都提到了多线程之间共享资源的问题.其实ThreadLocal和多线程之间一点关系都没有.如果有,我怕是它的名字改成ThreadShare是不是更合适呢 ...
- 【Monkey】Monkey获取包名的方式
获取包名的方式: 1.有源码:查看AndroidManifest.xml 2.只有apk: 2.1 aapt dump xmltree ColaBox.apk AndroidManifest.xml ...
- 初识HT for web
目前国内经济转型在潜移默化中已经发生了巨大的变化,保险,零售业,汽车等我能想到的. 只要互联网能插足的行业,都难逃一‘劫’. 刚看了一篇博客--基于 HTML5 的工业组态高炉炼铁 3D 大屏可视化 ...