zoukankan      html  css  js  c++  java
  • 实验三

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

    课程:《程序设计与数据结构》
    班级: 1823
    姓名: 姬旭
    学号: 20182334
    实验教师:王志强
    实验日期:2019年9月23日
    必修/选修: 必修

    1.实验内容

    参考《实验二 Java面向对象程序设计》:http://www.cnblogs.com/rocedu/p/6736847.html
    实验内容

    下载安装并使用IDEA,完成下面实验(https://www.cnblogs.com/rocedu/p/6371315.html)。

    1. 初步掌握单元测试和TDD

    2. 理解并掌握面向对象三要素:封装、继承、多态。

    3. 初步掌握UML建模

    4. 完成蓝墨云上 (1)-(5)实验。

    2. 实验过程及结果

    按照老师的教程下载并使用IDEA,用起来比Linux要方便许多。做了四个实验,每个实验都是在上一步的基础上一步步进阶的。

    面向对象程序设计(1)

    参考 http://www.cnblogs.com/rocedu/p/6371315.html#SECUNITTEST
    参考http://www.cnblogs.com/rocedu/p/6736847.html

    提交最后三个测试用例都通过的截图,截图上要有画图加水印,输入自己的学号。

    在做这个实验时,还并不清楚类和方法什么的之间的关系,完全是照猫画虎,依照学长学姐的代码自己慢慢做出来的,也有的依靠同学慢慢摸索出来的。

    面向对象程序设计(2)

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

    StringBuffer当时确实有点难道我了,因为必须要在Junit的环境下进行测试,可能是我还没有完全掌握,感觉很难懂。

    面向对象程序设计(4)

    提交:单元测试代码和运行成功截图及码云上代码链接,截图要加上学号水印

    参考http://www.cnblogs.com/rocedu/p/6736847.html

    任务:以TDD的方式开发一个复数类Complex,要求如下:

    // 定义属性并生成getter,setter
    double RealPart;
    double ImagePart;

    在做这个实验时,我感觉自己进步了!可能是老师带着做了一个类似的实验,让我有许多收获,比如在Complex里设置方法,用IDEA里的自动生成,立马就出现了很多方法,toString也是分分钟就出现了,确实省了不少事,带来了便利,也让我学到很多。

    面向对象程序设计(5)

    使用WhiteStarUML对实验二中的代码进行建模,发类图的截图,加上学号水印。
    参考http://www.cnblogs.com/rocedu/p/6736847.html

    类图中只少两个类。

    在做这个实验时,老师也教了关于自动生成UML的方式,在IDEA 里用快捷键可以立刻生成类图,我用过之后发现确实带来了很多便利。

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

    • 问题1:在第一个实验里,我会产生逻辑错误,比如,我会忽略当成绩小于0时的情况,结果测试不成功,让人头大,

    • 问题1解决方案:后来才发现自己少想了一种情况,立马再次思考,发现是漏想了一种情况,

    • 问题2:在StringBuffer里我不明白charAt、indexOf分别是啥意思,于是在写测试程序时,出现多次测试不过。

    • 问题2解决方案:在看书查资料看老师发的教程后,明白charAt是指在一串字符串里面猜你想要的字符,并判断第几位是,比如下图,括号里的数字代表字符串里的第几位,单引号里面的字符是你猜测的。

    那么一明白这个道理后,测试通过。

    • 问题3:不明白indexOf是啥意思,小小的脑袋,大大的疑问。

    • 问题3解决方案:同上一个问题一样,自己一遍一遍的测试,观察中间的规律,之后再听同学的讲解,明白其中的道理:所谓indexOf,如下图,在括号里的字符是你要猜它在字符串里是第几位开始,如果字符串里没有这个字符,那么就是-1。

    • 问题4:在第4个实验里,不明白复数的算法,在定义方法时,会产生很多疑问和错误。

    • 问题4解决方案:世上无难事只怕有心人,在我的不懈努力下,我终于搞懂了一些这方面的知识。在定义方法时,要在原函数的基础上,定义常量和方法。


    其他(感悟、思考等)

    离开Linux来到IDEA,感觉很舒服,但是又感觉之前培养的Linux逻辑又慢慢荒废了,不知是好是坏,但毕竟提供了方便。在IDEA上的学习过程中,我能感受到Java还有很多复杂的东西我们还没有接触到,我现在仍然感觉自己接触的只是皮毛,可能自己还没有完全理解Java里的类和方法,在后面的学习生活中,得要好好下功夫,对于不会的点要往里钻,不能遇到挫折就停下。这个实验做了一个星期,感到艰难,但又充实。

    参考资料

  • 相关阅读:
    OnboardSDK分析
    Ubuntu14.04安装pycharm用于Python开发环境部署,并且支持pycharm使用中文输入
    TCP/IP四层模型和OSI七层模型的概念
    二分查找
    Combination Sum
    全面解析回溯法:算法框架与问题求解
    Search Insert Position
    过滤器
    Java中Web页面信息获取
    jQuery和Ajax联动
  • 原文地址:https://www.cnblogs.com/cistineup/p/11604522.html
Copyright © 2011-2022 走看看