Java基础编程题目——复数的加法、乘法和求模运算

假设 a+bi 和 c+di 则:
(a+bi)+(c+di)=(a+c)+(b+d)i
(a+bi)-(c+di)=(a-c)+(b-d)i
(a+bi)(c+di)=(ac-bd)+(bc+ad)i
a+bi 的模为a2+b2的算术平方根

public class Fushu {
    private double x, y;

    public Fushu(double real, double imaginary) {   //定义复数
        x = real;
        y = imaginary;
    }

    public String toString() {
        return "(" + x + " + " + y + "i" + ")";		//规范输入格式
    }
     //加法
    public Fushu add(Fushu a) {      				//与另一个复数相加
        return new Fushu(x + a.x ,y + a.y);
    }

    public Fushu add(double a,double b) {    		//与给定的实部虚部相加
        return new Fushu(x + a , y + b);
    }

    public static Fushu add(Fushu a, Fushu b) {     //两个复数相加
        return new Fushu(a.x + b.x , a.y + b.y);
    }

    //乘法
    public Fushu mul(Fushu a) {						 //与另一个复数相乘
        return new Fushu(x * a.x - y * a.y ,y * a.x + x * a.y);
    }

    public Fushu mul(double a,double b) {			//与给定的实部虚部相乘
        return new Fushu(x * a - y * b , y * a + x * b);
    }

    public static Fushu mul(Fushu a, Fushu b) {      //两个复数相乘
        return new Fushu(a.x * b.x - a.y * b.y, a.y * b.x + a.x * b.y);
    }

    //求模
    public static double mo(Fushu a) {		
        double x = Math.sqrt(a.x * a.x + a.y * a.y);
        return x;
    }

    public static void main(String args[]) {
        Fushu x, y, z;
        //加法
        x = new Fushu(4,5);
        y = new Fushu(3.4,2.8);
        z = add(x,y);
        System.out.println(x + " + " + y + " = " + z);
        z = x.add(y);
        System.out.println(x + " + " + y + " = " + z);
        z = y.add(4,5);
        System.out.println(x + " + " + y + " = " + z);

        //乘法
        x = new Fushu(4,5);
        y = new Fushu(3,2);
        z = mul(x,y);
        System.out.println(x + " * " + y + " = " + z);
        z = x.mul(y);
        System.out.println(x + " * " + y + " = " + z);
        z = y.mul(4,5);
        System.out.println(x + " * " + y + " = " + z);

        //求模
        x = new Fushu(4,5);
        double n = mo(x);
        System.out.println(n);
    }
}
发布了203 篇原创文章 · 获赞 14 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_43479432/article/details/105095499