20145302张薇《Java程序设计》实验二报告
2016-04-17 21:37
363 查看
20145302张薇《Java程序设计》实验二:Java面向对象程序设计
使用TDD的方式设计实现复数类:Complex
测试代码
import org.junit.Test; public class ComplexNumberTest { @Test public void TestFunction1() { ComplexNumber complexnumber = new ComplexNumber(1, 3); ; assert complexnumber.m_dRealPart == 1 : "ComplexNumber(double r,double I)构造函数有错误"; assert complexnumber.m_dImaginPart == 3 : "ComplexNumber(double r,double I)构造函数有错误"; } @Test public void TestFunction2() { ComplexNumber complexnumber = new ComplexNumber(); assert complexnumber.m_dImaginPart == 0 : "ComplexNumber()构造函数有错误"; assert complexnumber.m_dRealPart == 0 : "ComplexNumber()构造函数有错误"; } @Test public void TestSetWay() { ComplexNumber complexnumber = new ComplexNumber(); complexnumber.SetRealPart(1); complexnumber.SetImaginaryPart(1); assert complexnumber.m_dRealPart == 1 : "SetRealPart方法有错误"; assert complexnumber.m_dImaginPart == 1 : "SetImaginaryPart方法有错误"; } @Test public void TestgetWay() { ComplexNumber complexnumber = new ComplexNumber(); complexnumber.SetRealPart(2); complexnumber.SetImaginaryPart(5); assert complexnumber.GetRealPart() == 2 : "GetRealPart方法有错误"; assert complexnumber.GetImaginaryPart() == 5 : "GetImaginaryPart方法有错误"; } @Test public void TestStringWay() { ComplexNumber complexnumber = new ComplexNumber(2,6); assert complexnumber.toString()=="2.0+6.0i":"toString方法有错误"; } @Test public void TestAddWay1() { ComplexNumber complexnumber1 = new ComplexNumber(1,1); ComplexNumber complexnumber2 = new ComplexNumber(2,2); ComplexNumber complexnumber3=complexnumber1.ComplexAdd1(complexnumber2); assert complexnumber3.m_dRealPart == 3 : "ComplexAdd方法有错误"; assert complexnumber3.m_dImaginPart == 3 : "ComplexAdd方法有错误"; } @Test public void TestAddWay2() { ComplexNumber complexnumber1 = new ComplexNumber(1,1); ComplexNumber complexnumber2=complexnumber1.ComplexAdd2(2); assert complexnumber2.m_dRealPart == 3 : "ComplexAdd方法有错误"; assert complexnumber2.m_dImaginPart == 1 : "ComplexAdd方法有错误"; } @Test public void TestMinusWay1() { ComplexNumber complexnumber1 = new ComplexNumber(1,1); ComplexNumber complexnumber2 = new ComplexNumber(2,2); ComplexNumber complexnumber3=complexnumber2.ComplexMinusl(complexnumber1); assert complexnumber3.m_dRealPart == 1 : "ComplexMinus方法有错误"; assert complexnumber3.m_dImaginPart == 1 : "ComplexMinus方法有错误"; } @Test public void TestMinusWay2() { ComplexNumber complexnumber1 = new ComplexNumber(5,1); ComplexNumber complexnumber2=complexnumber1.ComplexMinus2(1); assert complexnumber2.m_dRealPart == 4 : "ComplexMinus方法有错误"; assert complexnumber2.m_dImaginPart == 1 : "ComplexMinus方法有错误"; } @Test public void TestMultiWay1() { ComplexNumber complexnumber1 = new ComplexNumber(3,3); ComplexNumber complexnumber2 = new ComplexNumber(3,5); ComplexNumber complexnumber3=complexnumber1.ComplexMultil(complexnumber2); assert complexnumber3.m_dRealPart == -6 : "ComplexMinus方法有错误"; assert complexnumber3.m_dImaginPart == 24 : "ComplexMinus方法有错误"; } @Test public void TestMultiWay2() { ComplexNumber complexnumber1 = new ComplexNumber(3,3); ComplexNumber complexnumber2=complexnumber1.ComplexMulti2(2); assert complexnumber2.m_dRealPart == 6 : "ComplexMinus方法有错误"; assert complexnumber2.m_dImaginPart == 6 : "ComplexMinus方法有错误"; } }
实验代码
public class ComplexNumber { public double m_dRealPart; public double m_dImaginPart; public ComplexNumber(){ this.m_dImaginPart=0; this.m_dRealPart=0; } public ComplexNumber(double r,double I){ this.m_dRealPart=r; this.m_dImaginPart=I; } public double GetRealPart(){ return this.m_dRealPart; } public double GetImaginaryPart(){ return this.m_dImaginPart; } public void SetRealPart(double d) { this.m_dRealPart=d; } public void SetImaginaryPart(double d) { this.m_dImaginPart=d; } public ComplexNumber ComplexAdd1(ComplexNumber c){ this.m_dRealPart=this.m_dRealPart+c.m_dRealPart; this.m_dImaginPart=this.m_dImaginPart+c.m_dImaginPart; return this; } public ComplexNumber ComplexAdd2(double c){ this.m_dRealPart=this.m_dRealPart+c; return this; } public ComplexNumber ComplexMinusl(ComplexNumber c){ this.m_dRealPart=this.m_dRealPart-c.m_dRealPart; this.m_dImaginPart=this.m_dImaginPart-c.m_dImaginPart; return this; } public ComplexNumber ComplexMinus2(double c){ this.m_dRealPart=this.m_dRealPart-c; return this; } public ComplexNumber ComplexMultil(ComplexNumber c){ double a=this.m_dImaginPart; double b=this.m_dRealPart; this.m_dRealPart=b*c.m_dRealPart-(a*c.m_dImaginPart); this.m_dImaginPart=b*c.m_dImaginPart+a*c.m_dRealPart; return this; } public ComplexNumber ComplexMulti2(double c){ double a=this.m_dImaginPart; double b=this.m_dRealPart; this.m_dRealPart=this.m_dRealPart*c; this.m_dImaginPart=this.m_dImaginPart*c; return this; } public String toString(){ return this.m_dRealPart+"+"+this.m_dImaginPart+"i"; } }
实验结果截图
说是String方法有问题,其他的成功了。
实验调整截图
我试了,在别人的电脑上可以运行成功,但是这里出错了,说是用到了java.lang.String方法。
建模截图
实验体会
实验最重要的是动手做,自己独立上手一遍会记得更牢固。相关文章推荐
- JAVA基础学习(1)
- [Spring]使用Spring进行面向切面编程
- Java创建WebService服务及客户端实现
- 20145307第二次JAVA学习实验报告
- 20145317彭垚 《Java程序设计》第7周学习总结
- java基础知识
- JAVA隐式转换和方法重写和static关键字
- java环境变量配置
- 9.1 JavaScritp:为数据带来生命-对象中的对象
- JavaBean技术
- 深入Java集合学习系列:HashMap的实现原理--转
- struts2开发6--在struts2中实现单个文件上传
- Eclipse依赖打包问题
- JAVA第五次作业
- JAVA集合类详解
- LeetCode------ZigZag Conversion
- java抽象类和接口在设计时的取舍
- Spring,hibernate,struts的面试笔试题(含答案)
- 20145216史婧瑶《Java程序设计》第二次实验报告
- Java基础