package JDK;
public class ComplexNumber {
private double realPart;// 复数的实部
private double imageinaryPart;// 复数的虚部
/** */
public ComplexNumber() {
super();
this.realPart = 0.0;
this.imageinaryPart = 0.0;
}
public double getRealPart() {
return realPart;
}
public void setRealPart(double realPart) {
this.realPart = realPart;
}
public double getImageinaryPart() {
return imageinaryPart;
}
public void setImageinaryPart(double imageinaryPart) {
this.imageinaryPart = imageinaryPart;
}
public ComplexNumber(double a, double b) {
super();
this.realPart = a;
this.imageinaryPart = b;
}
//加法运算
public ComplexNumber add(ComplexNumber aComNum) {
if (aComNum == null) {
System.out.println("对象不能够味null");
return new ComplexNumber();
}
return new ComplexNumber(this.realPart + aComNum.getRealPart(),
this.imageinaryPart + aComNum.getImageinaryPart());
}
//减法运算
public ComplexNumber decrease(ComplexNumber aComNum) {
if (aComNum == null) {
System.out.println("对象不能为空");
return new ComplexNumber();
}
return new ComplexNumber(this.realPart - aComNum.getRealPart(),
this.imageinaryPart - aComNum.getImageinaryPart());
}
//乘法运算
public ComplexNumber multiply(ComplexNumber aComNum){
if(aComNum==null){
System.out.println("运算对象不能为空");
return new ComplexNumber();
}
double newReal=this.realPart*aComNum.realPart-this.imageinaryPart*aComNum.imageinaryPart;
double newImaginaryPart=this.realPart*aComNum.realPart+this.imageinaryPart*aComNum.imageinaryPart;
ComplexNumber result=new ComplexNumber(newReal,newImaginaryPart);
return result;
}
public String toString(){
return this.realPart+" + "+this.imageinaryPart+"i";
}
public static void main(String[] args){
ComplexNumber complexNumber=new ComplexNumber(2,4);
ComplexNumber complexNumber2=new ComplexNumber(1,2);
System.out.println("complexNumber为:"+complexNumber.toString());
System.out.println("complexNumber2为"+complexNumber2.toString());
System.out.println("a+b运算为"+complexNumber.add(complexNumber2));
System.out.println("a-b运算为"+complexNumber.decrease(complexNumber2));
System.out.println("a*b运算为"+complexNumber.multiply(complexNumber2));
System.out.println("-------------------------");
System.out.println("a.equals(b)"+complexNumber.equals(complexNumber2));
System.out.println("...."+complexNumber.hashCode());
try {
System.out.println("[[[[[[[[]]]]]]]]"+complexNumber.clone().toString());
} catch (CloneNotSupportedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("异常为"+e);
}
}
}