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

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

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

1.实验内容

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

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

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

  3. 初步掌握UML建模

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

2. 实验过程及结果

第一个

  1. 书写产品代码MyUtil.java
  2. 书写测试代码MyUtilTest.java
    1. project ——>(右键) new——>Directory
    2. test ——>(右键) make directory as ——> Test Source Root
  3. TDD的运用
    1. File ——>settings ——>plugins ——>junit
    2. 小灯泡creat test
    3. File ——>Project Strsture
  4. 测试成功

第二个

  1. 手动打出StringBuffer,将几个方法一一实验,并区分了StringBuilder、StringBuffer、String类之间的差别
  2. 学习equals的方法,修改网页上的错误代码(tupianequals:)
  3. 按照上面的方法书写测试代码
  4. 测试成功


第三个

  1. 学习S.O.L.I.D原则

第四个

  1. 在UML中设计好,便于代码的顺利展开
  2. 构造函数,将数据初始化
  3. 运用getX将两个数进行封装
  4. 书写产品代码和测试代码
  5. 测试成功

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

  • 问题1:StringBuffer中capacity方法并未扩展空间(该博客截图错误,相信自己)

  • 问题1解决方案:(老师的思考题让我明白了它的用法)
  •   public static void main(String[] args) {
    StringBuffer sb = new StringBuffer("cccccccccccc");
    System.out.println("sb:" + sb);
    System.out.println("sb.capacity():" + sb.capacity());
    System.out.println("sb.length():" + sb.length());
    
    StringBuffer sBuffer =new StringBuffer();
    sBuffer.append("cccccccccccc");//12个c
    System.out.println("SBuffer's capacity"+sBuffer.capacity());
    
    }
    }
    为什么结果不同?
    两种储存的方法不一样,最后储存方法的空间也不一样。
  • 问题2:java编写复数类加减乘除代码中的乘法、除法出现问题

扫描二维码关注公众号,回复: 7377896 查看本文章
  • 问题2解决方案:复数类的加减法较为简单,乘除法需要思考:不能只用两个变量就解决了,需要多个变量进行辅助。

其他(感悟、思考等)

现在的代码正在逐渐增加难度,如果不认真学习、理解透彻,很容易出现无从下笔的现象。我应该积极主动地去学习,去深挖一些知识,最后才可能成功。可能在博客上是有错误的,在有证明的情况下,相信自己!

参考资料

猜你喜欢

转载自www.cnblogs.com/zhaopeining/p/11599723.html