20172308 实验二《Java面向对象程序设计 》实验报告
20172308 2017-2018-2 《程序设计与数据结构》实验2报告
课程:《程序设计与数据结构》
班级: 1723
姓名: 周亚杰
学号:20172308
实验教师:王志强
实验日期:2018年4月17日
必修/选修: 必修
1.实验内容
- 初步掌握单元测试和TDD
- 理解并掌握面向对象三要素:封装、继承、多态
- 初步掌握UML建模
- 熟悉S.O.L.I.D原则
- 了解设计模式
- 完成蓝墨云上 (1)-(5)实验。
2. 实验过程及结果
实验1:认识编程中三种码:伪代码、产品代码、测试代码;对编写的类进行测试,这个实验实验中我们共完成了三种测试:测试正常、测试异常、测试边界
实验结果:

(实验1代码链接)实验2:以 TDD的方式研究学习StringBuffer:学习使用StringBuffer类,用API查阅StringBuffer类方法,并测试(
实验2代码链接)
实验结果:

实验3:对设计模式示例进行扩充,体会OCP原则和DIP原则的应用,初步理解设计模式,用自己的学号%6进行取余,让系统支持Boolean类,并在MyDoc类中添加测试代码表明添加正确:(实验3代码链接)
实验结果:
实验4:以TDD的方式开发一个复数类Complex:主要难点体现在复数类的编写上(实验4代码链接)
实验结果:

实验5:用UML代码进行建模:主要难点体现在画图软件的使用上,不太好上手。通过百度和多次尝试,画图如图:

3. 实验过程中遇到的问题和解决过程
问题1:在做前两个实验的时候,最大的阻挠是在TDD测试的时候,弹出来一个红色框框,如图:

然后手贱点开了,后来导致所有的程序中有汉字的都不能运行,出现了乱码。问题1解决过程:这个问题的出现完全是个意外。后来问了学长,老师,没解决。学长让我重新建个项目,然后我就发现了问题所在,就是如图所示:

后来老师也找到了原因(。。。我是蒙的),字符集选错了。。问题2:在TDD测试的时候,发现import一个类之后,其中的方法还是不能用,如图:

问题2解决方案:很明显是我的import写错了,应该是直接写包名及其下的类,即
import experiment.MyUtil;。这是个很小的问题,但问题是以往所写的要不就是把类都放在一个包下面不用import的,要不就是在包名前面写了Java的,然后自动认为import的时候都得写java,如果不是用的IDEA可以直接生成声明,在Linux里写的话,我可能会疯掉。问题3:还有一个很神奇的现象,如图:

问题3解决方案:当然一眼就能看出来我把package的名字写错了,没有具体写到程序所在的文件夹名,于是就出现了上面的情况:自动又给我生成了一个test文件夹,然后把我的代码程序放在了TTD测试代码下面了。这个问题虽然是一个简单的错误产生的,但是如果直接看到这种情况的话,我可能一下子想不到解决方法,所以在这里记录一下。修正后的代码如图:

问题4:在编写Complex类的时候,出现了如图错误:

可以考到assertEquals,自动被画上了横线,很显然是括号里的内容写错了问题4解决方案:一开始在编写类的时候,是考虑到写两个方法,分别得到数的实部和虚部,然后分别计算,再通过toString把结果加上“i”,但存在一个问题就是,因为toString把最后得到的结果变成了字符串类型,致使assertEquals的时候,不能正确测试。后来换了一种思路,代码如图:

直接调用写好的add方法,将两个数进行计算,但由于对象a和b都是Complex类声明的,所以需要用String.valueOf把他们的结果变成String类,再把预测结果写成String类,就可以通过测试了。
参考资料
- 《Java程序设计与数据结构教程(第二版)》
- 《Java程序设计与数据结构教程(第二版)》学习指导
- 《Java面向对象程序设计》的一点说明
- Java面向对象程序设计
20172308 实验二《Java面向对象程序设计 》实验报告的更多相关文章
- 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 理解并掌握面相对象三要素:封 ...
- 实验二Java面向对象程序设计实验报告(2)
实验二 Java面向对象程序设计 实验概述: 课程:程序设计与数据结构 班级:1623班 姓名: 邢天岳 学号:2309 指导老师:娄老师 王老师 实验日期:2017.4.16 实验名称: Java面 ...
- 实验二 Java面向对象程序设计实验报告
实验二 Java面向对象程序设计 实验内容 1.初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装.继承.多态 3.初步掌握UML建模 4.熟悉S.O.L.I.D原则 5.了解设计模式 实验 ...
- 20145326《Java程序设计》实验二Java面向对象程序设计实验报告
20145326<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...
- 20155217 实验二 Java面向对象程序设计 实验报告
20155217 实验二 Java面向对象程序设计 实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模 ...
- 20145219 《Java程序设计》实验二 Java面向对象程序设计实验报告
20145219 <Java程序设计>实验二 Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S. ...
- 20162305 实验二 Java面向对象程序设计 实验报告
20162305 实验二 Java面向对象程序设计 实验报告 实验内容 1.初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装.继承.多态 3.初步掌握UML建模 4.熟悉S.O.L.I.D ...
- 20145239杜文超 《Java程序设计》实验二 Java面向对象程序设计实验报告
20145239 <Java程序设计>实验二 Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S. ...
随机推荐
- iOS如何在一个包上切换正式环境和测试环境
最近项目处于测试阶段,所以免不了每天都得打包给测试人员,由于我们公司规模比较大,项目环境也分为了三种:测试环境.预上线(预生产)环境.上线(生产)环境.所以每到了测试后期,每天打包的时间也占了不少,遇 ...
- HBase数据存取流程
一.HBase的特点是什么 1.HBase一个分布式的基于列式存储或者行式存储的数据库,基于hadoop的hdfs存储,zookeeper进行管理. 2.HBase适合存储半结构化或非结构化数据,对于 ...
- nginx如何做到TCP的负载均衡
原文:https://blog.csdn.net/u011218159/article/details/50966861 TCP 的 负载均衡 这个片段描述了如何通过nginx plus进行负 ...
- Firebird3 多文件支持
默认建立数据库时为一个数据文件,但文件不能无限大,故可以为数据库增加新文件: isql 打开数据库,并conn到指定数据库,然后 Alter databaseAdd file ‘d:\data\d2. ...
- 20155237 2016-2017-2 《Java程序设计》第1周学习总结
20155237 2016-2017-2 <Java程序设计>第一周学习总结 一.认真学习考核方式,理解成绩构成 考核方式 首先由100分构成:课堂考核12次,实验5次,团队项目(每周进度 ...
- [JOISC2018]道路建设 LCT
[JOISC2018]道路建设 LOJ传送门 考的时候打的大暴力,其实想到了LCT,但是思路有点没转过来.就算想到了估计也不能切,我没有在考场写LCT的自信... 其实这题不是让你直接用LCT维护答案 ...
- AFO预定
妈耶 数论题都不会 推不出式子 题解都看不懂 还是思维jiang化了 布星了 吃枣药丸 祝yyb进队 祝zsy进队 祝鸡贼进队
- 牛客OI周赛3-提高组-B-1408[dp]
题意 给你长度为 \(n\) 的两个排列 \(A,B\) 组成的序列,求最少的交换相邻数字的次数使得 \(A,B\) 分别有序. \(n\leq 2000\) . 分析 如果只有一个排列时最少交换次数 ...
- Java 图片处理解决方案:ImageMagick 快速入门教程
文章首发于[博客园-陈树义],点击跳转到原文Java 图片处理解决方案:ImageMagick 快速入门教程. ImageMagick介绍 ImageMagick是一个免费的创建.编辑.合成图片的软件 ...
- awk高级进阶
第1章 awk数组练习题 1.1 文件内容(仅第一行) [root@znix test]# head -1 secure-20161219 access.log ==> secure-20161 ...