Java实现的复数类

               

class Complex{

// 定义属性

double RealPart;

double ImagePart;

// 定义构造函数

public Complex(){

}

public Complex(double R,double I){

this.RealPart=R;

this.ImagePart=I;

}

// 定义公有方法

void setReal(double r){

this.RealPart=r;

}

void setImage(double i){

this.ImagePart=i;

}

double getReal(){

return this.RealPart;

}

double getImage(){

return this.ImagePart;

}

Complex ComplexAdd(Complex a){ // 加

return new Complex

(this.RealPart+a.RealPart,this.ImagePart+a.ImagePart);

}

Complex ComplexSub(Complex a){ // 减

return new Complex(this.RealPart-a.RealPart,this.ImagePart-

a.ImagePart);

}

Complex ComplexMulti(Complex a){ // 乘

double r=this.RealPart*a.RealPart-this.ImagePart*a.ImagePart; double i=this.RealPart*a.ImagePart+this.ImagePart*a.RealPart; return new Complex(r,i);

}

Complex ComplexDiv(Complex a){ // 除

if(this.RealPart==0&&a.ImagePart==0){ // 根据后面得到的内容 System.out.println("输入的被除数不能都为0!\n"); return null;

}


// 化简得到公式为:(a+bi)/(c+di)

// 实体部分:(a*c+b*d)/(a*a+d*d)

// 虚体部分:(b*c-a*d)/(a*a+d*d)

double xx=this.RealPart*this.RealPart+a.ImagePart*a.ImagePart; double r=(this.RealPart*a.RealPart+this.ImagePart*a.ImagePart)/xx; double i=(this.ImagePart*a.RealPart-this.RealPart*a.ImagePart)/xx; return new Complex(r,i);

}

boolean isEqual(Complex a){

return (this.RealPart==a.RealPart&&this.ImagePart==a.ImagePart); }

String ToString(){

return this.RealPart+"+"+this.ImagePart+"i";

}

}

public class one{

public static void main(String[] args){

Complex a=new Complex();

Complex b=new Complex(1,2);

Complex c=new Complex(3,4);

System.out.println("a的值为:"+a.ToString());

System.out.println("b的值为:"+b.ToString());

System.out.println("c的值为:"+c.ToString());

System.out.println();

System.out.println("a.RealPart:"+a.getReal());

System.out.println("b.RealPart:"+b.getReal());

System.out.println("c.RealPart:"+c.getReal());

System.out.println();

Complex d=b.ComplexAdd(c);

System.out.println("d的值:"+d.ToString());

System.out.println("d.ImagePart:"+d.getImage());

Complex e=b.ComplexMulti(c);

System.out.println("e的值:"+e.ToString());

System.out.println("e.ImagePart:"+e.getImage());

System.out.println("d和e相等吗:"+d.isEqual(e));

// 设置值后

e.setReal(4.0);


} } e.setImage(6.0); System.out.println("设置了值后d和e相等吗:"+d.isEqual(e));

对于学习有困难不知道如何提升自己可以加扣:578024144  进行交流得到帮助,获取学习资料


           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

猜你喜欢

转载自blog.csdn.net/qq_44231628/article/details/87794968