java程序设计与实验_20155218 《Java程序设计》实验二(Java面向对象程序设计)实验报告...

20155218 《Java程序设计》实验二(Java面向对象程序设计)实验报告

一、实验内容及步骤

(一)单元测试

主要学习安装和使用junit来测试编写的程序,并学习以TDD(Test Driven Devlopment,测试驱动开发)方式来编写程序。

a9037578c6dee032953bdd452ff999a5.png

95432b1e328108b6daee98b52b660312.png

(二)面向对象三要素

要求:使用StarUML对实验二中的代码进行建模,发类图的截图,加上学号水印。

70efc6bfdd93500cf7d96b85172f1f4b.png

(三)设计模式初步

要求:对设计模式示例进行扩充,体会OCP原则和DIP原则的应用,初步理解设计模式。让系统支持Double类,并在MyDoc类中添加测试代码表明添加正确,提交测试代码和运行结的截图,加上学号水印。

f312eac262e36691df01be0060c057c8.png

二、实验练习:使用TDD的方式设计关实现复数类Complex

产品代码:

public class Complex{

private double r;

private double i;

public Complex(double r, double i) {

this.r = r;

this.i = i;

}

public static double getRealPart(double r) {

return r;

}

public static double getImagePart(double i) {

return i;

}

public Complex Add(Complex c) {

return new Complex(r + c.r, i + c.i);

}

public Complex Sub(Complex c) {

return new Complex(r - c.r, i - c.i);

}

public Complex Multi(Complex c) {

return new Complex(r * c.r - i * c.i, r * c.i + i * c.r);

}

public Complex Div(Complex c) {

return new Complex((r * c.i + i * c.r)/(c.i * c.i + c.r * c.r), (i * c.i + r * c.r)/(c.i * c.i + c.r * c.r));

}

public String toString() {

String s = " ";

if (i > 0)

s = r + "+" + i + "i";

if (i == 0)

s = r + "";

if (i < 0)

s = r + " " + i + "i";

return s;

}

}

测试代码:

c251a27c151efdebb1b1da2a7e4e22d1.png

三、总结与分析

(一)遇到的问题及解决方案:

问题一:在file里找不到settings:

解决方案:在蓝墨云提问后,郝博雅同学给了我一个解决的方法,在开始页面的configure设置里找到了plugins,再选其中的browse,就能设置了。

问题二:在starUML里无法向windows系统下对java进行逆向工程,但在下载java插件中就可以了。

(二)PSP

步骤

耗时

百分比)

需求分析

10min

11.11%

设计

15min

16.66%

代码实现

40min

44.44%

测试

5min

5.55%

分析总结

20min

22.22%

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值