java设计一个可进行复数运算的演示程序。要求实现下列6种基本运算:(1)由输入的实部和虚部生成一个复数;(2)两个复数求和;(3)两个复数求差;(4)两个复数求积;(5)从已知复数中分离出实部;(6)从已知复数中分离出虚部。运算结果以相应的复数或实数的表示形式显示。程序运行结果示例如下:
public class FuShu {
private double x;
private double y;
public FuShu() {
}
public FuShu(double x, double y) {
this.x = x;
this.y = y;
}
public double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
public double getY() {
return y;
}
public void setY(double y) {
this.y = y;
}
public FuShu add(FuShu f1,FuShu f2){
double x=f1.getX()+f2.getX();
double y= f1.getY()+f2.getY();
FuShu f=new FuShu(x,y);
return f;
}
public FuShu sub(FuShu f1,FuShu f2){
double x=f1.getX()-f2.getX();
double y= f1.getY()-f2.getY();
FuShu f=new FuShu(x,y);
return f;
}
public FuShu Cheng(FuShu f1,FuShu f2){
double x=f1.getX()*f2.getX()-f1.getY()*f2.getY();
double y= f1.getY()*f2.getX()+ f1.getX()*f2.getY();
FuShu f=new FuShu(x,y);
return f;
}
public FuShu Chu(FuShu f1,FuShu f2){
if(f2.getX()*f2.getX()+f2.getY()*f2.getY()!=0) {
double x = (f1.getX() * f2.getX() + f1.getY() * f2.getY()) / (f2.getX() * f2.getX() + f2.getY() * f2.getY());
double y = (f2.getX() * f1.getY() - f2.getY() * f1.getX()) / (f2.getX() * f2.getX() + f2.getY() * f2.getY());
FuShu f = new FuShu(x, y);
return f;
}else {
System.out.println("除数不能为零");
return null;
}
}
public double shiBu(FuShu f){
return f.getX();
}
public double xuBu(FuShu f){
return f.getY();
}
@Override
public String toString() {
return x + "+" + y + "i";
}
}
public class Test {
public static void main(String[] args) {
FuShu f1=new FuShu(2,3);
FuShu f2=new FuShu(3,4);
System.out.println(f1+"+"+f2+"="+f1.add(f1,f2));
System.out.println(f1+"-"+f2+"="+f1.sub(f1,f2));
System.out.println(f1+"*"+f2+"="+f1.Cheng(f1,f2));
System.out.println(f1+"/"+f2+"="+f1.Chu(f1,f2));
System.out.println(f1+"的虚部为"+f1.xuBu(f1));
System.out.println(f2+"的虚部为"+f2.xuBu(f2));
System.out.println(f1+"的实部为"+f1.shiBu(f1));
System.out.println(f2+"的实部为"+f2.shiBu(f2));
}
}