码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA实验二

时间:2015-05-07 20:05:54      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

实验报告

课程:

Java程序设计

班级:

1352

姓名:

莫凡

学号:

20135225

成绩:

 

指导教师:

娄嘉鹏

实验日期:

2015.05.05

实验密级:

 

预习程度:

 

实验时间:

18:30~22:30

仪器组次:

25

必修/选修:

选修

实验序号:

实验名称:

Java面向对象程序设计

实验目的与要求:

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

2. 理解并掌握面向对象三要素:封装、继承、多态

3. 初步掌握UML建模

4. 熟悉S.O.L.I.D原则

5. 了解设计模式

 

 

 

 

实验仪器:

 

名称

型号

数量

电脑

 

 

 

联想

 

 

 

1

 

 

                     

 

 

统计的PSP(Personal Software Process)时间:

步骤

耗时(min

百分比

需求分析

30

12.5%

设计

70

29.2%

代码实现

70

29.2%

测试

40

16.7%

分析总结

30

12.5%

 

实验内容一:单元测试。

需求:我们要在一个MyUtil类中解决一个百分制成绩转成“优、良、中、及格、不及格”五级制成绩的功能。

伪代码:

百分制转五分制: 如果成绩小于60,转成“不及格” 如果成绩在60与70之间,转成“及格” 如果成绩在70与80之间,转成“中等” 如果成绩在80与90之间,转成“良好” 如果成绩在90与100之间,转成“优秀” 其他,转成“错误”

 

通过测试代码在产品代码中发现bug

 技术分享

测试代码图

 

 

 

 

修改产品代码中的bug并通过测试

 技术分享

产品代码图

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TDD测试

 技术分享

技术分享

技术分享

 

 技术分享

技术分享

 

 

 

实验内容二:面向对象三要素

1封装2.继承3.多态

 技术分享

技术分享

 技术分享

 技术分享

技术分享

 

 

实验内容三:设计模式初步

 技术分享

技术分享

技术分享

 

 

实验内容四:使用TDD的方式设计关实现复数类Complex。

复数类伪代码:

复数由实数部分和虚数部分组成。复数的加减:实数与实数相加(add)减(reduce),复数与复数相加减,输出复数结果方法(Output)。

先写出测试代码:

package complex;

 

public class ComplexTest{

 

    public static void main(String[] args) {

        Complex c=new Complex();

        Complex c1=new Complex(19,10);

        Complex c2=new Complex(12.5,11.5);

        c1.Output();

        c2.Output();

        System.out.println("这两复数和为:");

        System.out.println(c.add(c1, c2).r+"+"+c.add(c1, c2).i+"i");

        System.out.println("这两复数差为:");

        System.out.println(c.reduce(c1, c2).r+"+"+c.reduce(c1, c2).i+"i"); 

    }

 

}

再写出产品代码:

package complex;

 

public class Complex{

   

    double r,i;

    Complex()

    {

        this.r=0;//实数

        this.i=0;//复数

    }

    Complex(double re,double im)

    {

        this.r=re;

        this.i=im;

    }

    Complex reduce(Complex p1,Complex p2)

    {

        Complex p =new Complex(p1.r-p2.r,p1.i-p2.i);

        return p;  

    }

    Complex add(Complex p1, Complex p2) {

        Complex p =new Complex(p1.r+p2.r,p1.i+p2.i);

        return p;  

    }

    void Output()

    {

        System.out.println("复数的值为:");

        if(this.i!=0)

        System.out.println(this.r+"+"+this.i+"i");

        else

        System.out.println(this.r);

       

    }

}

 

测试结果

 技术分享

单元测试的好处:

先写出伪代码,可以使在编写产品代码时更加流畅,编写测试代码可以尽量减少产品代码中的bug。因此单元测试可以有效地提高编程效率,减少所写程序中的bug。

实验中遇到的问题:

复数类的定义不了解。

解决问题的方法:

通过上网查资料,了解了复数类的基本定义后写出了产品的伪代码。然后利用TDD的方法,编写测试代码的框架,再编写出产品代码。运行测试代码进行调试最后得出正确结果。

JAVA实验二

标签:

原文地址:http://www.cnblogs.com/Ntime/p/4485767.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!