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()的方法。

参考资料

  1. Intellj IDEA 简易教程
  2. 实验二《Java面向对象程序设计》的一点说明
  3. UML类图画法一
  4. UML类图画法二
原文地址:https://www.cnblogs.com/dky-wzw/p/8932454.html