Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

AD4 Create a class called ComplexBase to store two sets of complex numbers. It is the base class for ComplexAdd, ComplexSubtract, ComplexMultiply, and ComplexDivision classes.

AD4

Create a class called ComplexBase to store two sets of complex numbers. It is the base class for

ComplexAdd, ComplexSubtract, ComplexMultiply, and ComplexDivision classes. 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.

Create ComplexAdd class to do addition for two complex numbers and store the result. It also

provides a function to return a string statement regarding the addition of two complex numbers.

The following is a general guide line for adding 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.

Create ComplexSubtract class to do subtraction for two complex numbers and store the result. It

also provides a function to return a string statement regarding the subtraction of two complex

numbers. The following is a general guide line for subtracting 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.

Create ComplexMultiply class to do multiplication for two complex numbers and store the result.

It also provides a function to return a string statement regarding the multiplication of two

complex numbers. The following is a general guide line for multiplying 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.

Page

5

of

9

CISP401V11A4

Create ComplexDivision class to do division for two complex numbers and store the result. It

also provides a function to return a string statement regarding the division of two complex

numbers. The following is a general guide line for dividing 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))/(c

2

+d

2

).

Create ComplexMathTest class to create 14 elements ComplexBase array to store complex

numbers calculations and display the results.

The following are the specifications for this assignment.

ComplexBase.java

There are four private double data members (real1, imaginary1, real2 and imaginary2). The real

stores the real part of a complex number and the imaginary stores the imaginary part of a

complex number.

There are six public functions (two ComplexBase, getFirstReal, getFirstImaginary,

getSecondReal, and getSecondImaginary) in this class.

public double getFirstReal( )

1. The first ComplexBase function does not take any data. (or call no argument constructor)

It initializes 0s to the private data members.

2. The second ComplexBase function takes four double numbers. (or call four-argument

constructor) It assigns the four numbers to the private data members.

3. The getFirstReal function returns one double number but does not take any data. It

returns the real1.

4. The getFirstImaginary function returns one double number but does not take any data. It

returns the imaginary1.

5. The getSecondReal function returns one double number but does not take any data. It

returns the real2.

6. The getSecondImaginary function returns one double number but does not take any data.

It returns the imaginary2.

Page

6

of

9

CISP401V11A4

ComplexAdd.java

There are two private double data members (realA and imaginaryA). The realA stores the real

part of addition of two complex numbers and the imaginaryA stores the imaginary part of the

addition of two complex numbers.

There are three public functions (two ComplexAdd and toString) in this class.

1. The first ComplexAdd function does not take any data. (or call no argument constructor)

It initializes 0s to its super classs and this classs private data members.

2. The second ComplexAdd function takes four double numbers. (or call four-argument

constructor) It assigns the four numbers to its super calsss private data members. It also

adds the numbers and gets a result. It assigns the real part of the result to the realA and

assigns the imaginary part of the result to the imaginaryA.

3. The toString function returns one String object but does not take any data. It returns a

String object which is an equation of Complex numbers addition.

ComplexSubtract.java

There are two private double data members (realS and imaginaryS). The realS stores the real part

of subtraction of two complex numbers and the imaginaryS stores the imaginary part of the

subtraction of two complex numbers.

There are three public functions (two ComplexSubtract and toString) in this class.

1. The first ComplexSubtract function does not take any data. (or call no argument

constructor) It initializes 0s to its super classs and this classs private data members.

2. The second ComplexSubtract function takes four double numbers. (or call four-argument

constructor) It assigns the four numbers to its super classs private data members. It also

does subtraction on the numbers and get a result. It assigns the real part of the result to

the realS and assigns the imaginary part of the result to the imaginaryS.

3. The toString function returns one String object but does not take any data. It returns a

String object which is an equation of Complex numbers subtraction.

ComplexMultiply.java

Page

7

of

9

CISP401V11A4

There are two private double data members (realM and imaginaryM). The realM stores the real

part of multiplication of two complex numbers and the imaginaryM stores the imaginary part of

the multiplication of two complex numbers.

There are three public functions (two ComplexMultiply and toString) in this class.

1. The first ComplexMultiply function does not take any data. (or call no argument

constructor) It initializes 0s to its super classs and this classs private data members.

2. The second ComplexMultiply function takes four double numbers. (or call four-argument

constructor) It assigns the four numbers to its super classs private data members. It also

multiplies the numbers and gets a result. It assigns the real part of the result to the realM

and assigns the imaginary part of the result to the imaginaryM.

3. The toString function returns one String object but does not take any data. It returns a

String object which is an equation of Complex numbers multiplication.

Complex

Division.java

There are two private double data members (realD and imaginaryMD. The realD stores the real

part of division of two complex numbers and the imaginaryD stores the imaginary part of the

division of two complex numbers.

There are three public functions (two Complex

Division and toString) in this class.

1. The first Complex

Division function does not take any data. (or call no argument

constructor) It initializes 0s to its super classs and this classs private data members.

2. The second Complex

Division function takes four double numbers. (or call four-

argument constructor) It assigns the four numbers to its super classs private data

members. It also divides the numbers and gets a result. It assigns the real part of the

result to the realD and assigns the imaginary part of the result to the imaginaryD.

3. The toString function returns one String object but does not take any data. It returns a

String object which is an equation of Complex numbers division.

ComplexMathTest.java

It contains main function (driver) for this assignment. In the main function you have to do

1. Create 14 elements ComplexBase objects array. It name is complex.

Page

8

of

9

CISP401V11A4

2. Create a ComplexAdd object with (9.5, 7.7, 1.2, 3.1) as arguments and assign to the first

element of the complex array.

3. Create a ComplexSubtract object with (9.5, 7.7, 1.2, 3.1) as arguments and assign to the

second element of the complex array.

4. Create a ComplexMultiply object with (9.5, 7.7, 1.2, 3.1) as arguments and assign to the

third element of the complex array.

5. Create a ComplexDivision object with (9.5, 7.7, 1.2, 3.1) as arguments and assign to the

fourth element of the complex array.

6. Create a ComplexAdd object with (-6.3, 5.2, 3.4, -2.8) as arguments and assign to the

fifth element of the complex array.

7. Create a ComplexSubtract object with (-6.3, 5.2, 3.4, -2.8) as arguments and assign to the

sixth element of the complex array.

8. Create a ComplexMultiply object with (-6.3, 5.2, 3.4, -2.8) as arguments and assign to the

seventh element of the complex array.

9. Create a ComplexDivision object with (-6.3, 5.2, 3.4, -2.8) as arguments and assign to the

eighth element of the complex array.

10. Create a ComplexDivision object with (-6.3, 5.2, 0.0, 0.0) as arguments and assign to the

ninth element of the complex array.

11. Create a ComplexAdd object without any argument and assign to the tenth element of the

complex array.

12. Create a ComplexSubtract object without any argument and assign to the eleventh

element of the complex array.

13. Create a ComplexMultiply object without any argument and assign to the twelfth element

of the complex array.

14. Create a ComplexDivision object without any argument and assign to the thirteenth

element of the complex array.

15. Create a ComplexDivision object with (0, 0, 0, 0.1) as arguments and assign to the

fourteenth element of the complex array.

16. Print a proper formatted headline

A complex number in the form (x, y) is equal to x + yi,

where i is square root of -1.

Page

9

of

9

CISP401V11A4

17.

Print a second headline "*

~~~~~~~********--------Complex numbers calculations--------

********~~~~~~~

18.

Use the following statement to print out all the complex number equations and results.

for (ComplexBase currentComplex : complex)

System.out.println( currentComplex);

You can fine the needed techniques in chapter 1~ 10. You can also use more advance skills

to do this assignment.

This assignment comes with a CISP401V11AD4.zip file. It includes six files (

ComplexBase.class,

ComplexAdd.class, ComplexSubtract.class, ComplexMultiply.class, ComplexDivision.class,

and ComplexMathTest.class

). All of those files are executable files.

You can place them in a

sub folder (directory). Bring up a command prompt and go to the sub directory, type java

ComplexMathTest

in the sub directory and hit Enter key. You should see the program run

and get to the result as the following picture. That should also be expecting result of this

assignment.

Please document the files properly and zip your files (ComplexBase.java, ComplexAdd.java,

ComplexSubtract.java, ComplexMultiply.java, ComplexDivision.java, and

ComplexMathTest.java

)

into a proper named zip file for an advance assignment (refer to the

assignment section of the class syllabus) and submit it to the A4 folder of the Canvas Website.

Worth 180 points

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access with AI-Powered Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions