zoukankan      html  css  js  c++  java
  • 20172315 2017-2018-2 《程序设计与数据结构》实验二报告

    20172315 2017-2018-2 《程序设计与数据结构》实验二报告

    课程:《程序设计与数据结构》
    班级: 1723
    姓名: 胡智韬
    学号:20172315
    实验教师:王志强
    实验日期:2018年4月18日
    必修/选修: 必修

    1.实验内容

    (1).初步掌握单元测试和TDD
    (2).理解并掌握面向对象三要素:封装、继承、多态
    (3).初步掌握UML建模
    (4).熟悉S.O.L.I.D原则
    (5).了解设计模式

    此处填写实验的具体内容;

    2. 实验过程及结果

    实验(1)

    目标:

    • 参考 http://www.cnblogs.com/rocedu/p/6371315.html#SECUNITTEST 完成单元测试的学习
    • 提交最后三个JUnit测试用例(正常情况,错误情况,边界情况)都通过的截图,截图上要有画图加水印,输入自己的学号
    • 本提交点考查JUnit会不会使用,测试用例至少要包含正常情况,错误情况,边界情况的测试
      代码提交截图:


      实验(1)可以说是按照老师给出的参考一点点对照的做出来的,在这个实验中我学会了怎样使用单元测试,以及Junit的使用。通过娄老师的博客,我也知道了单元测试的重要性,受益匪浅!

    实验(2)

    目标:

    • 参考 积极主动敲代码,使用JUnit学习Java (http://www.cnblogs.com/rocedu/p/4837092.html)
    • 以 TDD的方式研究学习StringBuffer
    • 提交你的单元测试用例和测试通过的截图,截图要加上学号水印
    • 测试自己会不会写JUnit测试用例
      代码截图:

      这个实验其实也是和上一个一样一点点安照娄老师的教程来做的,通过这次实验,我的对单元测试与Junit的使用的理解更加深刻了。

    实验(3)

    目标:

    • 参考实验二 Java面向对象程序设计
    • 对设计模式示例进行扩充,体会OCP原则和DIP原则的应用,初步理解设计模式
    • 用自己的学号%6进行取余运算,根据结果进行代码扩充:
      0:让系统支持Byte类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印
      1:让系统支持Short类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印
      2:让系统支持Boolean类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印
      3:让系统支持Long类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印
      4:让系统支持Float类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印
      5:让系统支持Double类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印
      截图:


      这次实验更考察我们的独立实践能力,每个人根据自己的学号有不同的目标,能够使每个人能独立完成自己的实验。我在这次实验中也大大地锻炼了自己的动手实践能力,虽然实验过程有些曲折,但是我还是完成了实验。

    实验(4)

    目标:
    提交:单元测试代码和运行成功截图及码云上代码链接,截图要加上学号水印
    任务:以TDD的方式开发一个复数类Complex,要求如下:

    // 定义属性并生成getter,setter
    double RealPart;
    double ImagePart;
    
    // 定义构造函数
    public Complex()
    public Complex(double R,double I)
    
    //Override Object
    public boolean equals(Object obj)
    public String toString()
    
    // 定义公有方法:加减乘除
    Complex ComplexAdd(Complex a)
    Complex ComplexSub(Complex a)
    Complex ComplexMulti(Complex a)
    Complex ComplexDiv(Complex a)
    

    截图:

    这个实验程序在我看来比较繁琐,先要写一个complex类,还要对其进行测试。在写运算方法时可谓费尽周折才把它写出来,这个实验是我在这几个中花费时间最多的一个。

    实验(5)

    目标:

    • 使用StarUML对实验二中的代码进行建模,发类图的截图,加上学号水印
    • 类图中只少两个类
    • 类,继承,接口实现,组合在UML中表达
      截图:

    这次实验并没有教程,我对实验的目标也没有特别清晰的认识。老师给的软件也是英文版的,不会使用。网上有没有什么很好的教程。但在我瞎乱摸索的情况下还是完成了一个类图。

    3. 实验过程中遇到的问题和解决过程

    • 问题1:一开始不知道怎么安装Junit。

    • 问题1解决方案:在询问同学后才知道要从设置中搜索安装

    • 问题2:在使用Junit时遇到了字符集错误,也就是乱码问题。

    • 问题2解决方案:使用了老师的解决方案即可解决。

    • 问题3:对于StringBuffer的容量问题始终不太理解

    • 问题3解决:查询资料后得知,当超出初始容量两个以上的时候它的容量变为2*length+2 。

    参考资料

  • 相关阅读:
    如何破解“千人千面”,深度解读用户画像
    如何破解“千人千面”,深度解读用户画像
    AngularJS的简单入门
    Could not complete request
    AngularJS中angular.min.js:80 Error: [ng:areq] http://errors.angularjs.org/1.2.9/ng/areq
    BeanCreationException: Error creating bean with name 'transactionManager' defined
    Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
    Caused by: java.net.BindException: Address already in use: bind
    Linux的远程连接工具:SSH的安装
    虚拟机的安装
  • 原文地址:https://www.cnblogs.com/huzhitao/p/8947396.html
Copyright © 2011-2022 走看看