java编程在线求解

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));
    }
}

img