In: Computer Science
n Java,
Create a class called Complex for performing arithmetic with complex numbers. Complex numbers have the form
realPart + imaginaryPart * i
where i is square root of -1
Use floating-point variables to represent the private data of the class. Provide a constructor that enables an object of this class to be initialized when it is declared.
Provide a no-argument constructor with default values in case no initializers are provided. Provide public methods that perform the following operations:
a) Add two Complex numbers: The real parts are added together and the imaginary parts are added together. So, if we have (a + bi) + (c + di)), the result should be (a + c) + (b + d) i.
b) Subtract two Complex numbers: The real part of the right operand is subtracted from the real part of the left operand, and the imaginary part of the right operand is subtracted from the imaginary part of the left operand. So, if we have (a + bi) - (c + di)), the result should be (a - c) + (b - d) i.
c) Multiply two Complex numbers: The real part of the result is the real part of the right operand multiplies the real part of the left operand minus the imaginary part of the right operand multiply the imaginary part of the left operand. The imaginary part of the result is the real part of the left operand multiply the imaginary part of the left operand plus the imaginary part of the left operand multiply the real part of the right operand. So, if we have (a + bi) * (c + di)), the result should be (ac - bd) + (ad + bc) i.
d) Division two Complex numbers: We set the value of square real part of the denominator plus square imaginary part of the denominator is A. The real part of the result is the real part of the numerator multiplies the real part of the denominator plus the imaginary part of the numerator multiply the imaginary part of the denominator and divided by A. The imaginary part of the result is the real part of the left operand multiply the imaginary part of the left operand plus the imaginary part of the left operand multiply the real part of the right operand. So, if we have (a + bi) / (c + di)), the result should be (ac+bd)+i(bc-ad))/(c2+d2).
e) Print Complex numbers in the form (a, b), where a is the real part and b is the imaginary part.
A public class (Complex as in this assignment’s demo programs) should be implemented to do complex number calculation.
In the main function (ComplexTest as in the demo) you will instantiate two Complex class objects, call Complex class’s Addition, Subtraction, Multiply, Division function and print out the result of the calculations.
The following are the specifications for this assignment.
Complex.java
There are two private double data members (real and imaginary). The real stores the real part of a complex number and the imaginary stores the imaginary part of a complex number.
There are seven public functions (two Complex, add, subtract, multiply, division, and toString) in this classes.
ComplexTest.java
It contains main function (driver) for this assignment. In the main function you have to do
I have implemented the Complex.java and ComplexTest.java per the given description.
Please find the following Code Screenshot, Output, and Code.
ANY CLARIFICATIONS REQUIRED LEAVE A COMMENT
1.CODE SCREENSHOT :
2.OUTPUT :
3.CODE :
public class Complex {
private double realPart,imaginaryPart;
/*The first Complex function does not take any data.
(or call no argument constructor)
It initializes 0s to the private data members.*/
public Complex() {
this.realPart = 0;
this.imaginaryPart = 0;
}
/*The second Complex function takes two double numbers.
(or call two-argument constructor)
It assigns the two numbers to the private data members.*/
public Complex(double realPart, double imaginaryPart) {
this.realPart = realPart;
this.imaginaryPart = imaginaryPart;
}
/*The add function takes one Complex object and
returns one Complex object.
The function does two complex numbers addition.
*/
public Complex add(Complex c1){
double a=this.realPart,b=this.imaginaryPart,c=c1.realPart,d=c1.imaginaryPart;
return new Complex(a+c,b+d);
}
/*The subtract function takes one Complex object and
returns one Complex object.
The function does two complex numbers subtraction.*/
public Complex subtract(Complex c1){
double a=this.realPart,b=this.imaginaryPart,c=c1.realPart,d=c1.imaginaryPart;
return new Complex(a-c,b-d);
}
/*The multiply function takes one Complex object and
returns one Complex object. The function does two
complex numbers multiplication.*/
public Complex multiply(Complex c1){
double a=this.realPart,b=this.imaginaryPart,c=c1.realPart,d=c1.imaginaryPart;
return new Complex(a*c-b*d,a*d+b*c);
}
/*The division function takes one Complex object and
returns one Complex object.
The function does two complex numbers division.*/
public Complex division(Complex c1){
double a=this.realPart,b=this.imaginaryPart,c=c1.realPart,d=c1.imaginaryPart;
double den=c*c+d*d;
return new Complex((a*c+b*d)/den,(b*c-a*d)/den);
}
/*The toString function returns a String object but does not take any data.
The function returns a parenthesis string which represents complex number.
The numbers are in floating point format with only one digit after decimal point.*/
@Override
public String toString(){
String s="("+String.format("%.1f",this.realPart)+" , "+String.format("%.1f", this.imaginaryPart)+")";
return s;
}
}
ComplexTest.java
public class ComplexTest {
public static void main(String[] args) {
/*Create two Complex objects with value of
(9.5, 7.7) and (1.2, 3.1).*/
Complex a=new Complex(9.5, 7.7);
Complex b=new Complex(1.2, 3.1);
System.out.println("\"A complex number in the form (x, y) is equal to x + yi, where i is square root of -1\"");
System.out.println("*-Complex numbers calculations-*");
/*The program will use System.out.printf function to display information by calling
a.toString(), b.toString(),
a.add( b ).toString(), a.subtract( b ).toString(),
a.multiply( b ).toString(), and
a.division( b ).toString() as arguments.*/
System.out.printf("The First Complex Number : %s\n",a.toString());
System.out.printf("The Second Complex Number : %s\n",b.toString());
System.out.printf("The Sum of Complex Numbers : %s\n",a.add( b ).toString());
System.out.printf("The Difference of Complex Numbers : %s\n",a.subtract( b ).toString());
System.out.printf("The Product of Complex Number s : %s\n",a.multiply( b ).toString());
System.out.printf("The Division of Complex Numbers : %s\n",a.division( b ).toString());
}
}