20165215 实验二 Java面向对象程序设计

一、实验报告封面

课程:Java程序设计 班级:1652班 姓名:张家佳 学号:20165215

指导教师:娄嘉鹏 实验日期:2018年4月16日

实验时间:15:35 - 18:00 实验序号:二

实验名称: Java面向对象程序设计

实验目的与要求:

  1. 完成实验、撰写实验报告,注意实验报告重点是运行结果,遇到的问题以及分析
  2. 实验报告中统计自己的PSP(Personal Software Process)时间
  3. 掌握使用IDEA完成基础编程与程序调试的能力

二、实验内容

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

三、实验步骤

(一)单元测试

  • 新建一个项目,在项目下新建MyUtil

  • 测试对类的实现,类XXXX的单元测试,我们一般写建一个XXXXTest的类,针对MyUtil类我们写一个MyUtilTest.java的测试模块。

  • 若测试结果符合预期,则出现test passed!(如下图),否则将显示错误

  • 正常情况

  • 异常情况

  • 边界情况

(二)以 TDD的方式研究学习StringBuffer

  1. 创建新目录,并在该目录下创建StringBufferDemo
  2. 鼠标单击类名,单击出现的灯泡状图标或按Alt + Entert,在弹出的菜单中选择Create Test

  1. 编写代码测试StringBufferDemo类的的charAt(),indexOf(),capacity(),length(),toString()
  • capacity()返回的是目前的最大容量
  • length()返回的是字符串的长度
  • indexOf(String s)子串匹配,返回输入的子字符串的第一个字母在母字符串的位置
  • charAt(int i)返回的是字符串中的第i+1个字符

4.运行结果

(三)对设计模式示例进行扩充

  1. 我的学号是20165215,15%6=3,因此需要让系统支持Long类,并在MyDoc类中添加测试代码表明添加正确
  2. 在程序中新建Long类(Date类的子类)和LongFactory类(Factroy类的子类)
  3. 修改主函数MyDoc为
public class MyDoc {
static Document d;
public static void main(String[] args) {
d = new Document(new LongFactory());
d.DisplayData();
}
  1. 运行结果

(四)以TDD的方式开发一个复数类Complex

(五)使用StarUML对实验二中的代码进行建模

实验中遇到的问题

  • 问题:创建test类时,junit显示为红标

  • 解决方法:在Project Structure中添加如下junit包,并将Testing library由JUnit3改为JUnit4

代码托管

PSP时间

步骤 耗时 百分比
需求分析 10min 9.5%
设计 15min 14.2%
代码实现 30min 28.5%
测试 20min 19.0%
分析总结 30min 28.5%

参考资料

2017-2018-2 20165215 实验二 Java面向对象程序设计的更多相关文章

  1. 实验二Java面向对象程序设计实验报告(2)

    实验二 Java面向对象程序设计 实验概述: 课程:程序设计与数据结构 班级:1623班 姓名: 邢天岳 学号:2309 指导老师:娄老师 王老师 实验日期:2017.4.16 实验名称: Java面 ...

  2. 20165336 实验二 Java面向对象程序设计

    20165336 实验二 Java面向对象程序设计 一.实验报告封面 课程:Java程序设计 班级:1653班 姓名:康志强 学号:20165336 指导教师:娄嘉鹏 实验日期:2018年4月16日 ...

  3. 20165308 实验二 Java面向对象程序设计

    20165308 实验二 Java面向对象程序设计 实验二 Java面向对象程序设计 一.实验报告封面 课程:Java程序设计 班级:1653班 姓名:张士洋 学号:20165308 指导教师:娄嘉鹏 ...

  4. 20155317 实验二 Java面向对象程序设计

    20155317 实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步 ...

  5. 20155319 实验二 Java面向对象程序设计

    20155319 实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 (一) ...

  6. 20165218 实验二 Java面向对象程序设计

    实验二 Java面向对象程序设计 课程:java程序设计 姓名:赵冰雨 学号:20165218 指导教师:娄嘉鹏 实验日期:2018.4.16 实验密级:Java开发环境的熟悉 实验内容.步骤与体会: ...

  7. 20165202 实验二 Java面向对象程序设计

    实验二 Java面向对象程序设计 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:贾海粟 学号:20165202 指导教师:娄嘉鹏 实验日期:2018年4月16日 实验时间:15:3 ...

  8. 20169219 实验二 Java面向对象程序设计

    实验二 Java面向对象程序设计 一.程序设计中临时变量的使用 任务: //定义一个数组 int arr[] = {1,2,3,4,5,6,7,8}; //打印原始数组的值 for(int i:arr ...

  9. 实验二 Java面向对象程序设计

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

随机推荐

  1. 将gitlab中的postgresql数据库开通远程访问

    postgresql数据库是gitlab的一个配置数据库,记录gitlab的一些配置信息. 我们访问gitlab中的postgresql数据有本地命令行访问和远程可视化软件访问2种方式. (一)本地命 ...

  2. 启动Jmeter4.0 后弹出命令窗口提示信息是什么意思?

    启动Jmeter4.0 后弹出命令窗口提示信息: =========================================================================== ...

  3. 004-linux命令-搜索命令find、locate、whereis、which、type

    一.概述 使用linux系统难免会忘记文件所在的位置,可以使用以下命令对系统中的文件进行搜索. 1.1.find 语法:find <指定目录> <指定条件> <指定动作& ...

  4. Oracle(2)之多表查询&子查询&集合运算

    多表查询 笛卡尔积 同时查询多张表时,每张表的每条数据都要和其它表的每条数据做组合.如下栗子,我们发现产生的总记录数是 56 条,还发现 emp 表是 14 条,dept 表是 4 条,56 条正是 ...

  5. element-dialog封装成子组件

    1.父组件 <template> <card-layout :title="L('Users')" :actions="actions" @c ...

  6. strlen函数细节

    strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\0'为止,然后返回计数器值. 原型: ...

  7. zabbix 配合钉钉群机器人(webhook) 报警

    首先建钉钉群,添加一个自定义机器人拿到webhook zabbix添加一个报警媒介 搞一个shell脚本来启动Python脚本(直接用zabbix调Python脚本不行,不知道什么原因) vim di ...

  8. 小a和uim之大逃离

    题目传送门 #include <bits/stdc++.h> using namespace std; #define ll long long #define re register # ...

  9. vue--项目文件

    build config:webpack的配置文件 node_modules: 依赖的npm包 src: 项目代码 static:依赖的第三方库 ps:static中有个文件.gitkeep 因为新建 ...

  10. 部署一个不依赖tomcat容器的应用

    一个task项目,应用里边都是一些定时任务.我和新入职的高开商定程序部署不依赖于tomcat. 计划赶不上变化,任务开发完成还没等上线呢,哥们要离职了.工作交接时大概说了一下上线怎么部署. 结果呢,当 ...