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

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

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

1.实验内容

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

2. 实验过程及结果

实验1:练习单元测试,学会写三种代码(伪代码,产品代码,测试代码),通过Junit来进行测试。

在做实验一的时候因为全部是按照书上一步一步做下来的,所以并没有出现太多的问题。
测试用例截图:

实验2:以TDD的方式学习Stringbuffer类,使用Junit进行测验。

实验二步骤参考资料中也都包含,所以问题也不太大。最终做出来效果是正确的。
测试用例截图:

  • 代码链接
  • 参考 :积极主动敲代码,使用JUnit学习Java (http://www.cnblogs.com/rocedu/p/4837092.html)

    实验3:对设计用例进行扩充,按照学号除6的余数进行。从中体会OCP,DIP模式。

    在做实验三的时候出现了很多问题,因为刚开始读题的时候,我以为需要编写六个类,所以便把所有的类都编写了一遍,然后在提交的时候,要求是Double等类不应输出整型数,但我却输出的是整型数
    测试用例截图:






  • 代码链接

实验4:以TDD模式开发一个Complex类,并用Junit进行测试

在做这个的时候花了很多时间,因为不知道该怎样去计算,后来我是先初始化构造一个复数,然后确定他的实部和虚部,然后通过下面的方法计算加减乘除:

    Complex ComplexAdd(Complex c){//复数相加
        double a = c.getA();
        double b = c.getB();
        double newA = a + this.a;
        double newB = b + this.b;
        Complex Result = new Complex(newA,newB);
        return Result;
    }

    Complex ComplexMinus(Complex c){//复数相减
        double a = c.getA();
        double b = c.getB();
        double newA = a - this.a;
        double newB = b - this.b;
        Complex Result = new Complex(newA,newB);
        return Result;
    }

    Complex ComplexMulti(Complex c){//复数相乘
        double a = c.getA();
        double b = c.getB();
        double newA = a * this.a;
        double newB = b * this.b;
        Complex Result = new Complex(newA,newB);
        return Result;
    }

    Complex ComplexDiv(Complex c){//复数相除
        double a = c.getA();
        double b = c.getB();
        double newA = a / this.a;
        double newB = b / this.b;
        Complex Result = new Complex(newA,newB);
        return Result;
    }   

测试用例截图:

实验5:使用StarUml进行建模

因为我是在下载的时候下载了黑的版本,所以和别人的不太一样,刚开始做的时候对那些英文都看不明白,然后慢慢的摸索做了大致的轮廓。
Uml图:

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

问题1:首先是在上传的时候,当我把在idea弄好的内容用虚拟机上传时出现了错误导致我git文件出错
问题1解决方案:在试了好多方法都没用之后只好直接将原文件备份删除,然后重新创建了一个项目,再把所有内容重新传上去。

问题2:因为一直不太用idea,导致经常出现创建了太多的测试类,以及出了问题不知道该怎么解决
问题2解决方案:在看参考资料以及问同学之后,逐渐学会了Ait+Enter快捷键以及处理文件运行的方法,慢慢的开始会使用,但还是不够熟练存在很多问题,所以还是要多练习。

其他(感悟、思考等)

这次实验对于idea的使用有了更进一步的了解,对于TDD、SOLID、OCP、DIP等知识学习之后有所掌握,还是存在许多不足,需要继续努力。

参考资料

原文地址:https://www.cnblogs.com/linanlalala/p/8921730.html

时间: 2024-10-12 03:29:24

20172330 2017-2018-2 《程序设计与数据结构》实验二报告的相关文章

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

172303 2017-2018-2 <程序设计与数据结构>实验二报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 范雯琪 学号:20172303 实验教师:王志强 助教:张旭升/刘伟康 实验日期:2018年4月17日 必修/选修: 必修 1.实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 完成蓝墨云上 (1)-(5)实验. 2.实验过程及结果 过程: 本次实验老师一共设置了5

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

20172329 2017-2018-2 <程序设计与数据结构>实验二报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 王文彬 学号:20172329 实验教师:王志强 实验日期:2018年4月21日 必修/选修: 必修 1.实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 完成实验. 2. 实验过程及结果 一.理解内容 首先,我根据老师所给的几篇博客中大致了解了什么是TDD测试

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

20172317 2017-2018-2 <程序设计与数据结构>实验二报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 蒋子行 学号: 20172317 实验教师: 王志强 实验日期: 2018年4月22日 必修/选修: 必修 实验内容Experiment content Master the basic of unit testing and TDD(Test-driven development) Understand and master 3 vital elem

20172303 2018-2019-1 《程序设计与数据结构》实验二报告

20172303 2018-2019-1 <程序设计与数据结构>实验二报告 课程:<程序设计与数据结构> 班级: 1723 姓名: 范雯琪 学号:20172303 实验教师:王志强 助教:张师瑜/张之睿 实验日期:2018年11月5日 必修/选修: 必修 实验内容 本次实验主要是关于树的应用, 涉及了二叉树.决策树.表达式树.二叉查找树.红黑树五种树的类型,是对最近学习内容第十章和第十一章的一个总结. 节点一 参考教材P212,完成链树LinkedBinaryTree的实现(get

20182327 2019-2020-1 《数据结构与面向对象程序设计》实验二报告

20182327 2019-2020-1 <数据结构与面向对象程序设计>实验二报告 课程:<程序设计与数据结构> 班级: 1823 姓名:赵天昊 学号:20182327 实验教师:王志强 实验日期:2019年9月16日 必修/选修: 必修 1.实验内容 (1) 编写简单的计算器,完成加减乘除模运算. (2) 要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出. (3) 编写测试代码,测试验证. 2. 实验过程及结果 不多说,上

20182319《数据结构与面向对象程序设计》实验二报告

20182319 2019-2020-1 <数据结构与面向对象程序设计>实验二报告 课程:<程序设计与数据结构> 班级: 1823 姓名: 彭淼迪 学号:20182319 实验教师:王志强 实验日期:2019年9月16日 必修/选修: 必修 1.实验内容 (1) 编写简单的计算器,完成加减乘除模运算. (2) 要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出. (3) 编写测试代码,用规定方法测试验证. 2. 实验过程及结果

# 20182331 2019-2020-1 《数据结构与面向对象程序设计》实验二报告

20182331 2019-2020-1 <数据结构与面向对象程序设计>实验二报告 课程:<程序设计与数据结构> 班级: 1823 姓名: 高宽让 学号:20182331 实验教师:王志强 实验日期:2019年9月16日 必修/选修: 必修 1.实验内容 (1) 编写简单的计算器,完成加减乘除模运算. (2) 要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出. (3) 编写测试代码,测试验证.(https://www.cnb

20182330 2019-2020-1 《数据结构与面向对象程序设计》实验二报告

20182330 2019-2020-1 <数据结构与面向对象程序设计>实验二报告 课程:<程序设计与数据结构> 班级: 1823 姓名: 魏冰妍 学号:20182330 实验教师:王志强 实验日期:2019年9月16日 必修/选修: 必修 1.实验内容 编写简单的计算器,完成加减乘除模运算. 要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出. 编写测试代码,测试验证. 2. 实验过程及结果 编写简单计算器,借鉴c语言语法

20182311 2019-2020-1 《数据结构与面向对象程序设计》实验二报告

20182311 2019-2020-1 <数据结构与面向对象程序设计>实验二报告 课程:<程序设计与数据结构> 班级: 1823 姓名: 冷冲 学号:20182311 实验教师:王志强 实验日期:2019年9月16日 必修/选修: 必修 1.实验内容 (1) 编写简单的计算器,完成加减乘除模运算. (2) 要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出. (3) 编写测试代码,测试验证.(https://www.cnbl