资源描述:
《Java实现复数及其运算》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Java实现复数及其运算//Main.java为主类,其中Main为主函数,Calc为计算函数;publicclassMain{//str用于输出那个提示语句,x是第一参数,y是第二参数//使用Object类型是为了保证不管是Plural类型还是double类型都可以传参publicstaticvoidCalc(Stringstr,Objectx,Objecty){System.out.println(str);Plural.Add(x,y).Out();Plural.Sub(x,y).Out();Plural.Mul(x
2、,y).Out();Plural.Div(x,y).Out();System.out.println();}publicstaticvoidmain(String[]args){Pluralx=newPlural(1,2);Pluraly=newPlural(2,3);Calc("验证两个复数的计算",x,y);Calc("验证一个复数一个实数的计算",x,3);Calc("验证一个实数一个复数的计算",1,y);Calc("验证两个实数的计算",1,3);}}6Java实现复数及其运算//Plural.java为复数类,
3、其中Plural为多个构造函数,Out为输出函数;publicclassPlural{//数据段privatedoublereal;//实部privatedoubleimaginary;//虚部//构造方法//无参数的构造publicPlural(){this.real=0.0;this.imaginary=0.0;}//一个double的构造publicPlural(doublex){this.real=x;this.imaginary=0.0;}//一个Plural的构造,实为复制xpublicPlural(Plura
4、lx){this.real=x.real;this.imaginary=x.imaginary;}//实部,虚部的构造publicPlural(doublereal,doubleimaginary){this.real=real;this.imaginary=imaginary;}//输出方法publicvoidOut(){//考虑实部虚部情况进行输出,避免出现+-,0+0等情况if(real!=0){if(imaginary<0)System.out.println(real+"-"+(-imaginary)+"i");
5、elseif(imaginary>0)System.out.println(real+"+"+imaginary+"i");elseSystem.out.println(real);}else{if(imaginary!=0)System.out.println(imaginary+"i");elseSystem.out.println(0);}}6Java实现复数及其运算//静态方法//为非static的Out的copy,只是为了方便publicstaticvoidOut(Pluralx){x.Out();}//类似Ob
6、ject+Object的运算publicstaticPluralAdd(Objectx,Objecty){//1.如果x输入Plural类型,则(xinstanceofPlural)返回true,反之亦然//用这样的判断得出如果传参为Object类型时如何计算//2.Double.parseDouble(x.toString())//是先将Object类型的x转换为String类型然再转换为double,本情况不能直接转换//下列方法类同if((xinstanceofPlural)&&(yinstanceofPlural)
7、)returnAdd((Plural)x,(Plural)y);elseif((xinstanceofPlural)&&!(yinstanceofPlural))returnAdd((Plural)x,Double.parseDouble(y.toString()));elseif(!(xinstanceofPlural)&&(yinstanceofPlural))returnAdd((Double.parseDouble(x.toString())),(Plural)y);elsereturnAdd((Double.pa
8、rseDouble(x.toString())),Double.parseDouble(y.toString()));}publicstaticPluralSub(Objectx,Objecty){if((xinstanceofPlural)&&(yinstanceofPlural))returnSub