实验三报告

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

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

1.实验内容

参考《实验二 Java面向对象程序设计》实验内容,下载安装并使用IDEA,完成下面实验:

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

  2. 理解并掌握面向对象三要素:封装、继承、多态(自己去学!)

  3. 初步掌握UML建模

  4. 完成蓝墨云

上 (1)-(5)实验。

2. 实验过程及结果

  1. Myutil及MyutilTest的编写

  2. StringBuffer及StringBufferTest的编写

  3. Complex及ComplexTest的编写


  4. 使用UML对上面的代码建模

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

  • 问题1:推送至gitee报Successfully created project 'XX' on Gitee, but initial push fail

  • 问题1解决方案:

  • 错误原因:下载git后配置git.exe路径出错

  • 解决:一个个试完这些git.exe文件,发现只有cmd目录下的git.exe文件是有效的。

  • 问题2:idea使用org.junit爆红,显示cannot resolve symbol junit

  • 问题2解决方案:问题原因是缺少导入包

  • 解决:File -> Project Struct... -> Libraies -> 点击绿色的加号 -> Java -> 找到 IDEA 安装路径下的 Lib 中的junit-4.12 -> 添加即可;在同一个目录下找到libhamcrest-core-1.3.jar也进行添加。

  • 问题3:使用xxxTest方法名test failed

  • 问题3:解决方案:把xxxTest方法名改成testxxx,以免无法识别。

  • 问题4:有同学问到我为什么return可以返回一个对象,以及为什么一个类还没有写完,就可以在类的方法里使用这个类定义的数据类型。

  • 问题4解决方案:我的理解是,类可以理解成一种数据类型,return可以返回各种数据类型,无论是8种基本数据类型还是对象变量,只要传参符合规范都可以返回。return new +类名相当于创建新对象并返回。

  • 虽然方法定义在这个还没编写完的类里面,但是实际调用该方法时,这个类已经封装好了,是成熟完整的,在那时,通过它的方法使用这个类并没有什么时空上的冲突。

  • 问题5的发现:将int型数据直接传给一个字符串会报错,但是加上“+”,就会使int型自动转化成字符串。

其他(感悟、思考等)

我感觉实验课越来越难了...上课进度有点快,自己最近各种各样的事情比较多,学习java的时间不增反减,熬夜看书也只能说是在尽量跟上老师的进度。希望这段烦心忙碌的时间早点过去吧。

参考资料

原文地址:https://www.cnblogs.com/lengchong/p/11603493.html