- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java实现复数及其运算
//Main.java 为主类,其中Main为主函数,Calc为计算函数;public class Main{//str用于输出那个提示语句,x是第一参数,y是第二参数//使用Object类型是为了保证不管是Plural类型还是double类型都可以传参public static void Calc(String str,Object x,Object y){System.out.println(str); Plural.Add(x,y).Out(); Plural.Sub(x,y).Out(); Plural.Mul(x,y).Out(); Plural.Div(x,y).Out(); System.out.println();} public static void main(String[] args) { Plural x=new Plural(1,2); Plural y=new Plural(2,3); Calc(验证两个复数的计算,x,y); Calc(验证一个复数一个实数的计算,x,3); Calc(验证一个实数一个复数的计算,1,y); Calc(验证两个实数的计算,1,3); }}//Plural.java 为复数类,其中Plural为多个构造函数,Out为输出函数;public class Plural{//数据段 private double real; //实部 private double imaginary; //虚部//构造方法 //无参数的构造 public Plural() { this.real=0.0; this.imaginary=0.0; } //一个double的构造 public Plural(double x) { this.real=x; this.imaginary=0.0; } //一个Plural的构造,实为复制x public Plural(Plural x) { this.real=x.real; this.imaginary=x.imaginary; } //实部,虚部的构造 public Plural(double real,double imaginary) { this.real=real; this.imaginary=imaginary;}//输出方法 public void Out() { //考虑实部虚部情况进行输出,避免出现+-,0+0等情况 if(real!=0) { if(imaginary0) System.out.println(real+-+(-imaginary)+i); else if(imaginary0) System.out.println(real+++imaginary+i); else System.out.println(real); } else { if(imaginary!=0) System.out.println(imaginary+i); else System.out.println(0); } }//静态方法 //为非static的Out的copy,只是为了方便 public static void Out(Plural x) { x.Out();} //类似Object+Object的运算 public static Plural Add(Object x,Object y) { //1.如果x输入Plural类型,则(x instanceof Plural)返回true,反之亦然 //用这样的判断得出如果传参为Object类型时如何计算 //2.Double.parseDouble(x.toString()) //是先将Object类型的x转换为String类型然再转换为double,本情况不能直接转换 //下列方法类同 if((x instanceof Plural)(y instanceof Plural)) return Add((Plural)x,(Plural)y); else if((x instanceof Plural)!(y instanceof Plural)) return Add((Plural)x,Double.parseDouble(y.toString())); else if(!(x instanceof Plural)(y instanceof Plural)) return Add((Double.parseDouble(x.toString())),(Plural)y); else return Add((Double.parseDouble(x.toString())),Double.parseDouble(y.toString())); } public
文档评论(0)