实验三 面向对象程序设计
2021/10/13 1:14:32
本文主要是介绍实验三 面向对象程序设计,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
# 20202315 2021-2022-1 《数据结构与面向对象程序设计》实验报告
课程:《程序设计与数据结构》
班级: 2023
姓名:王梦欣
学号:20202315
实验教师:王志强
实验日期:2021年9月30日
必修/选修: 必修
参考《实验二 Java面向对象程序设计》:http://www.cnblogs.com/rocedu/p/6736847.html
1.实验内容
下载安装并使用IDEA,完成下面实验(https://www.cnblogs.com/rocedu/p/6371315.html)。
1. 初步掌握单元测试和TDD
2. 理解并掌握面向对象三要素:封装、继承、多态
3. 初步掌握UML建模
4. 完成蓝墨云上 (1)-(5)实验。
2.实验过程与结果
2.1 单元测试和TDD的掌握
第一个提交点:完成单元测试的学习
产品代码及测试代码
public class MyUtil { public static String percentage2fivegrade(int grade){ if (grade<0) return "错误"; //如果成绩小于60,转成“不及格” else if (grade<60) return "不及格"; //如果成绩在60与70之间,转成“及格” else if (grade<70) return "及格"; //如果成绩在70与80之间,转成“中等” else if (grade<80) return "中等"; //如果成绩在80与90之间,转成“良好” else if (grade<90) return "良好"; //如果成绩在90与100之间,转成“优秀” else if (grade<=100) return "优秀"; //如果成绩大于100,转成“错误" else return "错误"; } }
public class MyUtilTest { @Test public void testNormal() { Assert.assertEquals("不及格", MyUtil.percentage2fivegrade(55)); Assert.assertEquals("及格", MyUtil.percentage2fivegrade(65)); Assert.assertEquals("中等", MyUtil.percentage2fivegrade(75)); Assert.assertEquals("良好", MyUtil.percentage2fivegrade(85)); Assert.assertEquals("优秀", MyUtil.percentage2fivegrade(95)); } @Test public void testException(){ Assert.assertEquals("错误", MyUtil.percentage2fivegrade(-55)); Assert.assertEquals("不及格", MyUtil.percentage2fivegrade(55)); } @Test public void testBoundary(){ Assert.assertEquals("不及格", MyUtil.percentage2fivegrade(0)); Assert.assertEquals("及格", MyUtil.percentage2fivegrade(60)); Assert.assertEquals("中等", MyUtil.percentage2fivegrade(70)); Assert.assertEquals("良好", MyUtil.percentage2fivegrade(80)); Assert.assertEquals("优秀", MyUtil.percentage2fivegrade(90)); Assert.assertEquals("优秀", MyUtil.percentage2fivegrade(100)); } }
运行结果:正常情况、错误情况及边界情况
第二个提交点:
TDD的一般步骤如下:
- 明确当前要完成的功能,记录成一个测试列表
- 快速完成编写针对此功能的测试用例
- 测试代码编译不通过(没产品代码呢)
- 编写产品代码
- 测试通过
- 对代码进行重构,并保证测试通过(重构下次实验练习)
- 循环完成所有功能的开发
以 TDD的方式研究学习StringBuffer
import junit.framework.TestCase; import static org.junit.Assert.*; import org.junit.Test; public class StringBufferDemoTest extends TestCase { StringBuffer a = new StringBuffer("stringbuffer");//测试12个字符(<=16) StringBuffer b = new StringBuffer("stringbufferstringbuffer");//测试24个字符(>16&&(=34) StringBuffer c = new StringBuffer("stringbufferstringbufferstringbuffer");//测试36个字符(>=34) @Test public void testcharAt() throws Exception { assertEquals('s', a.charAt(0)); assertEquals('g', a.charAt(5)); assertEquals('r', a.charAt(11)); } @Test public void testcapacity() throws Exception { assertEquals(28, a.capacity()); assertEquals(40, b.capacity()); assertEquals(52, c.capacity()); } @Test public void testlength() throws Exception { assertEquals(12, a.length()); assertEquals(24, b.length()); assertEquals(36, c.length()); } @Test public void testindexOf() throws Exception { assertEquals(0, a.indexOf("str")); assertEquals(5, b.indexOf("gbu")); assertEquals(8, c.indexOf("ff")); } } public class StringBufferDemo { public static void main(String [] args){ StringBuffer buffer = new StringBuffer(20); buffer.append('S'); buffer.append("tringBuffer"); // System.out.println(buffer.charAt(1)); System.out.println(buffer.capacity()); // System.out.println(buffer.indexOf("tring12345")); System.out.println("buffer = " + buffer.toString()); System.out.println(buffer.length()); } }
2. 2理解并掌握面向对象三要素:封装、继承、多态
这篇关于实验三 面向对象程序设计的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?