package ch09;
public class Complex {
public double real;//复数实部
public double imaginary;//复数虚部
public Complex()//复数类的无参构造方法
{
this.imaginary=0;
this.real=0;
}
public Complex(double real,double imaginary)//复数类的有参构造方法
{
this.imaginary=imaginary;
this.real=real;
}
//复数实部和虚部的getter和setter方法
public double getReal() {
return real;
}
public void setReal(double real) {
this.real = real;
}
public double getImaginary() {
return imaginary;
}
public void setImaginary(double imaginary) {
this.imaginary = imaginary;
}
//复数加法(a+bi)+(c+di)=(a+c)+(b+d)i
public Complex add(Complex a,Complex b)
{
return new Complex(a.real+b.real,a.imaginary+b.imaginary);
}
//复数减法(a+bi)-(c+di)=(a-c)+(b-d)i
public Complex subduction(Complex a,Complex b)
{
return new Complex(a.real-b.real,a.imaginary-b.imaginary);
}
//复数的乘法
public Complex multi(Complex a,Complex b)
{
return new Complex ((a.real*b.real-a.imaginary*b.imaginary),(a.real*b.imaginary+a.imaginary*b.real));
}
//复数的除法
public Complex divide (Complex a,Complex b)
{
return new Complex((a.real*b.real+a.imaginary*b.imaginary)/(b.real*b.real+b.imaginary*b.imaginary),(-a.real*b.imaginary+a.imaginary*b.real)/(b.real*b.real+b.imaginary*b.imaginary));
}
//打印输出
public void print()
{
if(this.imaginary<0)//当复数的虚部为负数时,避免多打印出一个"+"
{
System.out.println(this.real+""+this.imaginary+"i");
}
else
{
System.out.println(this.real+"+"+this.imaginary+"i");
}
}
public static void main(String[] args)
{
Complex com1=new Complex(2,3);
com1.print();
Complex com2=new Complex(3,4);
com2.print();
Complex com3=new Complex(0,0);
System.out.println("复数加法:");
com3=com3.add(com1,com2);
com3.print();//(2.0+3.0i)+(3.0+4.0i)=5.0+7.0i
System.out.println("复数减法:");
com3=com3.subduction(com1,com2);//(2.0+3.0i)-(3.0+4.0i)=-1.0-1.0i
com3.print();
System.out.println("复数乘法:");
com3=com3.multi(com1, com2);
com3.print();
System.out.println("复数除法:");
com3=com3.divide(com1, com2);
com3.print();
}
}
Java复数类实现加减乘除运算
最新推荐文章于 2023-05-29 10:41:58 发布