Hello how can i do this in Java Design a class ComplexNo tha

Hello how can i do this in Java?

Design a class ComplexNo that allows you to add, subtract, multiply anddivide two complex numbers. Recall that a complex number is: a + bi, wherea, b are real numbers and i =-1. Note: to divide 2 complex numbers: (a + bi /c + di), multiply the fraction by 1 in the form of (c – di / c – di). The numbersc – di and c + di are called conjugates because their product is always c2 + d2,with no imaginary part.Provide (in addition to add, subtract, multiply, and divide) methods forequals (which returns boolean), and toString( ) (that returns a stringrepresenting the receiving object). Throw an exception if an attempt is madeto divide by 0 (0 + 0i). Your implementation should return the results of eachoperation WITHOUT changing the operands.

Solution

public class Complex {
    private double real;   // the real part
    private double imag;   // the imag part

    //creates a complex object with real and imaginary parts.
    public Complex(double real, double imag) {
        this.real = real;
        this.imag = imag;
    }

    // returns a string object.
    public String toString() {
        if (imag == 0) return real + \"\";
        if (real == 0) return imag + \"i\";
        if (imag < 0) return real + \" - \" + (-imag) + \"i\";
        return real + \" + \" + imag + \"i\";
    }

    // adds a given given complex object.
    public Complex add(Complex b) {
        Complex a = this;             // invoking object
        double real = a.real + b.real;
        double imag = a.imag + b.imag;
        return new Complex(real, imag);
    }

    // substracts a given complex object.
    public Complex substract(Complex b) {
        Complex a = this;
        double real = a.real - b.real;
        double imag = a.imag - b.imag;
        return new Complex(real, imag);
    }

    // multiplies with a given complex object.
    public Complex multiply(Complex b) {
        Complex a = this;
        double real = a.real * b.real - a.imag * b.imag;
        double imag = a.real * b.imag + a.imag * b.real;
        return new Complex(real, imag);
    }

    // return a new Complex object whose value is the reciprocal of this
    public Complex reciprocal() {
        double scale = real*real + imag*imag;
        return new Complex(real / scale, -imag / scale);
    }

    // return a / b
    public Complex divide(Complex b) {
        Complex a = this;
        return a.multiply(b.reciprocal());
    }

    // Equals method returns a boolean true if complex objects are equal, false if not equal.
    public boolean equals(Complex x) {
        return (this.real == x.real) && (this.imag == x.imag);
    }

    // Testing samples
    public static void main(String[] args) {
        Complex a = new Complex(3.0, 4.0);
        Complex b = new Complex(-1.0, 2.0);
       System.out.println(\"Equals:\"+a.equals(new Complex(3.0,4.0)));
        System.out.println(\"a            : \" + a);
        System.out.println(\"b            : \" + b);
        System.out.println(\"b + a        : \" + b.add(a));
        System.out.println(\"a - b        : \" + a.substract(b));
        System.out.println(\"a * b        : \" + a.multiply(b));
        System.out.println(\"a / b        : \" + a.divide(b));
    }

}

/* sample output

Equals:true
a            : 3.0 + 4.0i
b            : -1.0 + 2.0i
b + a        : 2.0 + 6.0i
a - b        : 4.0 + 2.0i
a * b        : -11.0 + 2.0i
a / b        : 1.0 - 2.0i

*/

Hello how can i do this in Java? Design a class ComplexNo that allows you to add, subtract, multiply anddivide two complex numbers. Recall that a complex number
Hello how can i do this in Java? Design a class ComplexNo that allows you to add, subtract, multiply anddivide two complex numbers. Recall that a complex number

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site