(源码在上传的压缩包“【java学习记录】1-10的代码”中可看到,该压缩包可下载)
Complex 类
public class Complex {
double real,imaginary;
Complex(double real,double imaginary){//初始化
this.real=real;
this.imaginary=imaginary;
}
Complex(){}//空函数
Complex add(Complex c){//复数加法
Complex c_add=new Complex();
c_add.real=real+c.real;
c_add.imaginary=imaginary+c.imaginary;
return c_add;
}
Complex sub(Complex c){//复数减法
Complex c_sub=new Complex();
c_sub.real=real-c.real;
c_sub.imaginary=imaginary-c.imaginary;
return c_sub;
}
Complex mul(Complex c){//复数乘法
Complex c_mul=new Complex();
c_mul.real=real*c.real-imaginary*c.imaginary;
c_mul.imaginary=imaginary*c.real+real*c.imaginary;
return c_mul;
}
/*void showComplex(){//输出复数
System.out.print(real+"+"+imaginary+"i"+"\n");
}*/
}
TestComplex测试类
public class TestComplex {
public static void main(String[] args){Complex c1=new Complex(12.5,23.6);
Complex c2=new Complex(7.5,26.4);
//c1.showComplex();
//c2.showComplex();
System.out.print("c1="+c1.real+"+"+c1.imaginary+"i"+"\n");
System.out.println("c2="+c2.real+"+"+c2.imaginary+"i"+"\n");
DecimalFormat df = new DecimalFormat( "0.00");//使输出的实部和虚部保留小数点后两位
Complex c3=c1.add(c2);//调用加法
System.out.print("c1+c2="+c3.real+"+"+c3.imaginary+"i"+"\n");
//c3.showComplex();
Complex c4=c1.sub(c2);//调用减法
if(c4.imaginary>0){
System.out.print("c1-c2="+c4.real+"+"+c4.imaginary+"i"+"\n");
}
else{
if(c4.imaginary<0){
System.out.print("c1-c2="+df.format(c4.real)+df.format(c4.imaginary)+"i"+"\n");
}
else{
System.out.print("c1-c2="+df.format(c4.real)+"\n");
}
}
Complex c5=c1.mul(c2);//调用乘法
System.out.print("c1*c2="+df.format(c5.real)+"+"+df.format(c5.imaginary)+"i"+"\n");
}
}