Concept explainers
(Math: The Complex class) A complex number is a number in the form a + bi, where a and b are real numbers and i is
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) / (c + di) = (ac + bd) / (c2 + d2) + (bc – ad)i / (c2 + d2)
You can also obtain the absolute value for a complex number using the following formula:
(A complex number can be interpreted as a point on a plane by identifying the (a, b) values as the coordinates of the point. The absolute value of the complex number corresponds to the distance of the point to the origin, as shown in Figure 13.10.)
Design a class named Complex for representing complex numbers and the methods add, subtract, multiply, divide, and abs for performing complex-number operations, and override toString method for returning a string representation for a complex number. The toString method returns (a + bi) as a string. If b is 0, it simply returns a. Your Complex class should also implement Cloneable and Comparable. Compare two complex numbers using their absolute values.
Provide three constructors Complex (a, b), Complex (a), and Complex (). Complex () creates a Complex object for number 0, and Complex (a) creates a Complex object with 0 for b. Also provide the getRealPart() and getImaginaryPart () methods for returning the real part and the imaginary part of the complex number, respectively.
Draw the UML class diagram and implement the class. Write a test program that prompts the user to enter two complex numbers and displays the result of their addition, subtraction, multiplication, division, and absolute value. Here is a sample run:
Enter the first complex number: 3.5 5.5 Enter the second complex number: –3.5 1 (3.5 + 5.5i) + (–3.5 + 1.0i) = 0.0 + 6.5i (3.5 + 5.5i) – (–3.5 + 1.0i) = 7.0 + 4.5i (3.5 + 5.5i) * (–3.5 + 1.0i) = –17.75 + –15.75i (3.5 + 5.5i) / (–3.5 + 1.0i) = –0.5094 + –1.7i |(3.5 + 5.5i)| = 6.519202405202649 |
Want to see the full answer?
Check out a sample textbook solutionChapter 13 Solutions
Introduction to Java Programming and Data Structures, Comprehensive Version (11th Edition)
- What is the value of each of the following Boolean expressions? 54 3=3 2+45 6==7 2+4=6 3+4==4+3 1!=2 2!=2 5==72 3+9=0arrow_forwardRewrite the following statements using combined assignment operators: length = length / 2;arrow_forwardAnalyze the following statements carefully and decide whether the statements that appear after the code are true or false.arrow_forward
- Suppose the value of b is false and the value of x is 0. What is the value of each of the following expressions?arrow_forwardFill in the blanks to rewrite the following statement with variables: “Is there an integer with a remainder of 1 when it is divided by 4 and a remainder of 3 when it is divided by 7?” (a) Is there an integer n such that n has ____________ ? (b) Does there exist ___________ such that if n is divided by 4 the remainder is 1 and if ___________?arrow_forwardWhat are the return values of the following statements in R (a) 4==4 & 5==5 (b) 5! =5 | 6==6 (c)5==5 | 6 !=6 (d) x<-5 & y<-6arrow_forward
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage LearningMicrosoft Visual C#Computer ScienceISBN:9781337102100Author:Joyce, Farrell.Publisher:Cengage Learning,