2017-2018-20172309 《程序设计与数据结构》实验二报告
学号 2017-2018-20172309 《程序设计与数据结构》实验二报告
课程:《程序设计与数据结构》
**班级: **1723
姓名: 王志伟
学号:20172309
实验教师:王志强老师
实验日期:2018年4月18日
必修/选修: 必修
1.实验内容
- 初步掌握单元测试和TDD。
- 理解并掌握面向对象三要素:封装、继承、多态。
- 初步掌握UML建模。
- 熟悉S.O.L.I.D原则。
- 了解设计模式。
2. 实验过程及结果
完成五个实验(1)~(5)
- 实验一:
作为第一个实验的实验一,对我来说是比较难理解的,因为它里面的很多东西都是刚接触亦或是接触不够深的东西。首先我们先了解的是伪代码、产品代码和测试代码。我们做题的要求是写好产品代码后,运用测试代码测试自己的代码是否有问题。一般测试可以从一般情况、边界情况、异常情况分别进行测试。
程序代码、
程序测试类 - 实验二:实验二是关于StringBuffer类的例子,它锻炼的使我们敲代码过程中的细心程度。
他的程序测试代码图:
程序代码
程序测试类 - 实验三:用自己的学号求余%6 得3 让系统支持Long类型
程序代码 - 实验四:设计一个复数类的计算方法,首先创建一个父类表示复数:
创建一个包含计算复数方法的子类:
父类
子类
测试类 - 实验五:这个实验是画UML 图
UML类图画法
3. 实验过程中遇到的问题和解决过程
- 问题1:测试的时候只显示一个方法通过、
而不是 - 问题1解决方案:经过问老师+许久的探究发现是因为在运行的时候他就自动只运行一个,,我们需要按运行总开关:也就是最上面的一个
- 问题2:实验四最难的也是让我感触最深的,它的要求是编写一个计算复数类的四则运算。我是分别创建了父类、子类、测试类。在父类中编写了复数的表现形式,子类中编写了运算法则。出线的问题1是复数不能准确的表达,比如我输入的是2+3i,他却给我表现的是0.12355465···i.
- 问题2解决方案:出现这个问题的原因是自己的toString方法没有准确的考虑到全部情况。下图是现在的表达:
- 问题3:在实验四中出现运算完第一个式子后,把结果当做第二个式子的运算数:
- 问题3解决方法:出现这个问题的原因是多进行了赋值,这样是错误的,正确的是:
- 问题4:在做实验五的时候,因为不会用全英文的软件,导致出现了很多错误在这进行总结:
1. 创建类:File->new Project->class
2. 创建一个类,里面可以写类名、实例数据、操作方法等
3. 点击从子类指向父类:
4. 接口:
5. 抽象类 :在右下方有个IS abstracted 按钮 按上就会打钩,标记的抽象类名、抽象方法变成斜体。
其他(感悟、思考等)
一开始接到做这五个实验的时候是有点消极的,因为感觉它太多了。特别是只做了前面两三个的时候,感觉好像什么都没学到;直到做了第四个的时候,感觉也就出来了。并且对前面的测试类有了更深的理解、知道了测试代码是一个非常好用的东西,比如能够特定的发现哪一条方法出现了错误等···除此之外,在思考问题的时候,也能够联系之前学过的内容,比如toString()的方法。