您的位置:首页 > 编程语言 > Java开发

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";
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java complex 复数类