实验二 面向对象的程序设计

实验二 面向对象的程序设计

一、实验内容及步骤

1.学会使用MyUtil,以学生成绩管理为例
  • 步骤一:建好测试文件夹,在源代码下点小灯泡就可以creat test
  • 步骤二:输入测试代码,记得加@test
  • 步骤三:运行测试代码,如果成功下方就会出现 x test passed

1071529-20170422165905915-1909402503.png
)

2.学会使用TDD方法编程,以StringBuffer为例。
  • 步骤与任务1相差不多,只是思路有很大区别。TDD的思想就是在于先编测试代码,通过测试代码的需求来代码中增添功能,不断重复,直到编不出来更多的测试代码,那么程序就完整多了。
    1071529-20170422165928884-187899146.png
3.体会OCP与DIP原则,以MyDoc类为例
  • 程序不难,只是对源代码做了一个扩充,支持了新的类型。OCP原则,就像在做这个任务的时候,因为已经做好了抽象,我们仅仅需要向其中添加一些满足需求的方法即可,其他部分的代码无需改动,即所谓的对扩充开放,对修改封闭。DIP原则,依赖倒置,即通过抽象的方法让下层依赖上层。
    1071529-20170422165934946-1934180594.png
4.以TDD的方式开发一个复数类Complex
5.使用starUML对实验二中的代码进行建模
  • 这个建模使我对程序的理解进一步加深了。

1071529-20170422165949259-58275822.jpg

三、实验过程中遇到的问题

问题1:在linux环境下,IDEA找不到junit.jar包

解决方法:换用了windows下的idea。

问题2:添加junit.jar后test还是红色。

解决方法:又添加了junit4.1.2包。

四、总结与体会

这次的实验难度和任务量有所提升,其中感触较深的是任务2、3、4。任务2让我初识了TDD编程方法,感觉这种按需编程的思想很好;任务3让我体会到了S.O.L.I.D原则当中的OCP和DIP原则,我想这也是java语言比c语言的优势所在,可以通过抽象、接口、继承来更好的实现类、方法间的互联;任务4则是一个对我来讲十分困难的编程题,虽然还是有参考网上的代码,但是我觉得在编程的时候发现问题,去寻找答案,去参考,也是一个不错的学习方法。

步骤耗时百分比
需求分析20min20%
代码实现60min60%
测试5min5%
分析总结15min15%

转载于:https://www.cnblogs.com/20155204wh/p/6748306.html

Java程序设计》课程实验指导书程序代码(答案)(实验),个人原创,仅供参考与交流。 希望多多交流,共同进步! 实验 Java语言基础 一、实验目的: 熟悉Java基本语法,基本数据类型,各种运算符及表达式的使用,掌握运算符优先级,熟悉使用Java的选择语句,循环语句。 实验内容: 1.编写Java Application程序,输出1900年到2000年之间的所有润年。(闰年的判断条件:能被4整除且不能被100整除,或能被400整除); 2.编写Java Appet 程序打印 “水仙花” 数 (它的个、十、百位数字的立方的和等于该数本身,如:153=1^3+5^3+3^3) 3. 编写Java Application程序,分别用do-while和for循环计算1+1/2!+1/3!+1/4!...的前20项和 三、实验要求: 1. 正确使用Java语言的选择语句,循环语句; 2. 调试程序、编译,运行后得到正确的结果 3.写出实验报告。要求记录编译和执行Java程序当中的系统错误信息提成示,并给出解决办法。 四、实验步骤: 1.编写主类; 2.在static public void main(String[ ] args)方法中加入实现要求功能的代码,主要步骤如下: (第一题)从1900到2000循环,按照闰年的判断条件是则输出1900年到2000年之间的所有润年。 (第题)编写Java Applet, 在public void paint(Graphics g)方法中加入实现要求功能的代码, 主要步骤是:从100到1000循环,判断每个数是否符合水仙花数的特点,是则输出之。 3.编译运行程序,观察输出结果是否正确。 五、自做实验 1. 输出100以内的所有素数。 提示: 逐个判断小于a的每个正整数x,第重循环针对x,判断其是否是质数。 2.将所输入之正整数,以、八、十六进制表示出来。 提示: 可写三个方法分别计算输出、八、十六进制表示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值