Java实验——复数类complex
Java实验——复数类complex
创建一个复数类complex,以复数进行数学运算、复数具有如下格式:RealPart+ImaginaryRart*i ,其中,i为-1的平方根。
要求如下:
1、利用浮点变量表示此类的私有数据。提供两个构造方法,一个用于此类声明的对象的初始化;一个为默认的无参构造方法。
2、提供两复数加、减、乘、除的运算方法。
3、按格式(a,b)打印复数。其中a为实部,b为虚部。
import java.util.*; public class complex { private double a; private double b; public double getA() { return a; } public void setA(double a) { this.a = a; } public double getB() { return b; } public void setB(double b) { this.b = b; } public complex() { this.a=0.0; this.b=0.0; } public complex(double aa,double bb) { this.a=aa; this.b=bb; } //加法 //(a+bi)+(c+di)=(a+c)+(b+d)i public complex add(complex c) { complex add=new complex(this.a+c.a,this.b+c.b); return add; } //减法 //(a+bi)-(c+di)=(a-c)+(b-d)i public complex sub(complex c) { complex sub=new complex(this.a-c.a,this.b-c.b); return sub; } //乘法 //(a+bi)*(c+di)=(ac-bd)+(ad+bc)i public complex mul(complex c) { double aa=this.a*c.a-this.b*c.b; double bb=this.a*c.b+this.b*c.a; complex mul=new complex(aa,bb); return mul; } //除法 //(a+bi)/(c+di)=(ac+bd)/(c²+d²)+((bc-ad)/(c²+d²))i public complex div(complex c) { double x=c.a*c.a+c.b*c.b; double aa=(this.a*c.a+this.b*c.b)/x; double bb=(this.b*c.a-this.a*c.b)/x; complex div=new complex(aa,bb); return div; } //格式 public String toString() { return "("+this.a+","+this.b+")"; } //main()方法 public static void main(String[] args) { Scanner input=new Scanner(System.in); System.out.print("请输入c1的实部和虚部:"); double a1=input.nextDouble(); double b1=input.nextDouble(); System.out.print("请输入c2的实部和虚部:"); double a2=input.nextDouble(); double b2=input.nextDouble(); System.out.println("c1:"+"("+a1+","+b1+")"); System.out.println("c2:"+"("+a2+","+b2+")"); complex c1=new complex(a1,b1); complex c2=new complex(a2,b2); System.out.println("c1和c2的运算结果:"); System.out.println("c1+c2:"+c1.add(c2)); System.out.println("c1-c2:"+c1.sub(c2)); System.out.println("c1*c2:"+c1.mul(c2)); System.out.println("c1/c2:"+c1.div(c2)); input.close(); } }
输出结果: