java编译问题~!快来帮忙!!!

来源:百度知道 编辑:UC知道 时间:2024/06/06 16:05:49
public class ComplexNumber{
private double real;
private double imaginary;

public ComplexNumber(double real,double imaginary){
this.real=real;
this.imaginary=imaginary;
}

public double getReal(){
return real;
}

public double getImaginary(){
return imaginary;
}

public ComplexNumber add(ComplexNumber cn){
real=real+cn.real;
imaginary=imaginary+cn.imaginary;
return this;
}

public ComplexNumber substract(ComplexNumber cn){
real=real-cn.real;
imaginary=imaginary-cn.imaginary;
return this;
}

public ComplexNumber multiply(ComplexNumber cn){
real=real*cn.real;
imaginary=imaginary*cn.imaginary;
return this;
}

public ComplexNumber divide(ComplexNumber cn){
real=real/cn.real;
imaginary=imaginary/cn.imaginary;
return this;
}

public

编译器是没有错误的,你在加的时候,返回this对象的同时,cn1对象已经被你改变成了cn3里面的值,所以减法才会出现那种结果,就是加了又减了相同的值,所以没有变化
后面那个道理相同~~

java 里 直接用double进行除法运算是不准确的

在做运算时 我愿意使用 BigDecimal类