Java实验(SWUST 实验一 复数类的设计)

实验一 复数类的设计

内容

分析复数类的设计过程和练习测试方法,主要包括以下几个部分:
1、复数类的总体设计,包括如何从复数这种数学类型中抽象出属性和方法,给出该类的大致结构;
2、测试类的设计,为何需要main方法?如何创建复数对象,如何从用户需求分析出发将数学表达式
p5 = p1+p2-p3*p4
利用面向对象设计思想转换为程序表达式
p5=p1.plus(p2).minus(p3).multiply(p4);
3、如何从程序表达式完善复数类的方法?(以plus方法为例,分析该方法的传入参数、返回参数类型、方法体的设计过程);
4、根据数学中对复数字符串的表达习惯,全面分析所有可能情况,完善复数类的printString()方法的方法体,并在测试类中举出所有可能情况的测试用例,调用printString()方法显示复数字符串的结果,并分析结果的正确性。

报告

一、实验目的
1、熟悉使用Eclipse编程
2、进行复数类的设计并测试

二、实验内容
1、复数类的总体设计,包括如何从复数这种数学类型中抽象出属性和方法,给出该类的大致结构;
2、测试类的设计,为何需要main方法?如何创建复数对象,如何从用户需求分析出发将数学表达式 p5 = p1+p2-p3*p4利用面向对象设计思想转换为程序表达式p5=p1.plus(p2).minus(p3).multiply(p4);
3、如何从程序表达式完善复数类的方法?(以plus方法为例,分析该方法的传入参数、返回参数类型、方法体的设计过程);
4、根据数学中对复数字符串的表达习惯,全面分析所有可能情况,完善复数类的printString()方法的方法体,并在测试类中举出所有可能情况的测试用例,调用printString()方法显示复数字符串的结果,并分析结果的正确性。

三、概要设计
1、需求分析过程
对于复数类的总体设计,一个是抽象出复数的属性,另一个是我们需要对复数做一个加、减、乘、模的这些运算。
2、总体设计方案
对于复数类的总体设计,我们需要对复数这种数学模型抽象出以下的属性和方法。首先是复数抽象出来的属性,一个是实部,另一个是虚部,在程序里面我定义这样的real和image。然后是复数类的方法,因为我们需要对复数做一个加、减、乘、模的这些运算,所以在复数类里,我也要依次写出这些运算所需要的方法。

四、详细设计
1、类的设计
首先,我先定义出Plural这样的一个类,在这个类里面我给出了int类型的两种属性,一个是real,表示实部,一个是image,表示虚部。
在这里插入图片描述

然后,给出带参数的构造方法和不带参数的构造方法
在这里插入图片描述

之后在一个数在这个复数类里,我们取出这个复数的实部和虚部。
在这里插入图片描述

接下来是对运算方法的构造,这里的传入参数是一个复数a,这里的返回参数类型是Plural的这样的复数类型,之后返回值是result的这样新的复数,计算后,后面再调用方法时就可以用这个新的复数继续去计算,可以连续使用这样的方法。下面我就以plus为例。
在这里插入图片描述

然后我们对复数输出方法进行构造,根据数学中对复数的表达习惯进行一个输出,先是实部接上虚部后面加上i。
在这里插入图片描述

最后是对复数模长的一个输出,我把求模直接放进输出里面。
在这里插入图片描述

这里我对Plural复数类就构造完了。
2、事件设计
我首先是在main函数里面创建里p1,、p2、p3、p4的复数对象,这里面使用main函数,是用来做运算的,包括数值运算,输出。
在这里插入图片描述

之后定义复数p5,然后进行复数之间的运算
在这里插入图片描述

最后,我们对所需求的进行打印
在这里插入图片描述

五、实验结果
下面是我的实验结果
在这里插入图片描述

p1是1+0i,而数学表达中就是实数1,结果正确
p2是0+1i,数学表达中把0省略就位i,结果正确
p3和p4分别是虚部为正和为负的情况,结果正确
p5是p1、p2、p3、p4的运算结果,结果正确
最后为p5的模。
六、讨论与分析
本次实验,对复数类的设计让我更加熟悉Java语言,并且更加明确Java语言中的类与对象的性质。在实验中也出现了许多问题,第一是对类的理解,原先我对类的含义很模糊,现在我明确了,类就是一个模板,他是用来描述对象的一类性质和行为,就比如C语言中int a这样定义变量,而类就是这样定义其他对象所用的。第二,一个类需要明确他构造方法的,这个类是否带有参数等等。第三,就本次实验而言,让我想的时间最长的就是方法,比如plus方法,一开始我的返回类型写错,我写的是void,之后是我的返回值没有重新返回这个新的复数,倒是我说算的复数运算总是错误的,在之后的实验中,我将注意这些。这是复数类的问题。在测试类中,在本次实验我认为最重要的是复数对象的创建,一定是Plural p= new Plural()这样的。这次实验做下来异常的费劲,问题在于理论不够扎实,动手少,以后我将多动手,多理解。

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值