Complex复数类
2017-09-12 20:46
375 查看
public class Complex { private double RealPart;//实部 private double ImagePart;//虚部 /* 定义构造函数 */ public Complex(){ } /* 含参构造方法*/ public Complex(double realPart, double imagePart){ this.RealPart = realPart; this.ImagePart = imagePart; } public void setRealPart(double realPart){ this.RealPart = realPart; } public void setImagePart(double imagePart){ this.ImagePart = imagePart; } public double getRealPart(){ return RealPart; } public double getImagePart(){ return ImagePart; } /* 复数的加法 */ public Complex add(Complex o1){ double realPart1 = this.getRealPart() + o1.getRealPart(); double imagePart1 = this.getImagePart() + o1.getImagePart(); return new Complex(realPart1,imagePart1); } /* 复数的减法 */ public Complex subtract(Complex o1){ double realPart1 = this.getRealPart() - o1.getRealPart(); double imagePart1 = this.getImagePart() - o1.getImagePart(); return new Complex(realPart1,imagePart1); } /* 复数的乘法 */ public Complex multiply(Complex o1){ double realPart1; double imagePart1; if(this.getImagePart() != 0 && o1.getImagePart() != 0){ realPart1 = (this.getRealPart() * o1.getRealPart()) - (this.getImagePart() * o1.getImagePart()); imagePart1 = (this.getRealPart() * o1.getImagePart()) + (this.getImagePart() * o1.getRealPart()); } else{ realPart1 = (this.getRealPart() * o1.getRealPart()); imagePart1 = (this.getRealPart() * o1.getImagePart()) + (this.getImagePart() * o1.getRealPart()); } return new Complex(realPart1,imagePart1); } /* 复数的除法 */ public Complex divide(Complex o1){ double realPart1; double imagePart1; realPart1 = (this.getRealPart() * o1.getRealPart()) + (this.getImagePart() * o1.getImagePart()) / (o1.getImagePart() * o1.getImagePart() + o1.getRealPart() * o1.getRealPart()); imagePart1 = (this.getImagePart() * o1.getRealPart()) - (this.getRealPart() * o1.getImagePart()) / (o1.getImagePart() * o1.getImagePart() + o1.getRealPart() * o1.getRealPart()); return new Complex(realPart1,imagePart1); }
public String toString(){
return this.RealPart+" + "+this.ImagePart+"i";
}
}