1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Ksenya-84 [330]
2 years ago
15

Design a class named Complex for representing complex numbers and the methods add, subtract, multiply, divide, abs for performin

g 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.
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 and imaginary part of the complex number, respectively.
Your Complex class should also implement the Cloneable
interface.
Write a test program that prompts the user to enter two complex numbers and display the result of their addition, subtraction, multiplication, and division.
Here is the main class. It cannot be changed.
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter the first complex number: ");
double a = input.nextDouble();
double b = input.nextDouble();
Complex c1 = new Complex(a, b);
System.out.print("Enter the second complex number: ");
double c = input.nextDouble();
double d = input.nextDouble();
Complex c2 = new Complex(c, d);
System.out.println("(" + c1 + ")" + " + " + "(" + c2 + ")" + " = " + c1.add(c2));
System.out.println("(" + c1 + ")" + " - " + "(" + c2 + ")" + " = " + c1.subtract(c2));
System.out.println("(" + c1 + ")" + " * " + "(" + c2 + ")" + " = " + c1.multiply(c2));
System.out.println("(" + c1 + ")" + " / " + "(" + c2 + ")" + " = " + c1.divide(c2));
System.out.println("|" + c1 + "| = " + c1.abs());
Complex c3 = (Complex)c1.clone();
System.out.println(c1 == c3);
System.out.println(c3.getRealPart());
System.out.println(c3.getImaginaryPart());
}
}
Computers and Technology
1 answer:
Tanzania [10]2 years ago
3 0

Answer:

Explanation:

The following code is written in Java, it creates the entire complex class as requested so that it works with the main method that has been provided in the question without having to change anything in the main method. Proof of output can be seen in the attached picture below

import java.util.Scanner;

class Test implements Cloneable{

   public static void main(String[] args) {

       Scanner input = new Scanner(System.in);

       System.out.print("Enter the first complex number: ");

       double a = input.nextDouble();

       double b = input.nextDouble();

       Complex c1 = new Complex(a, b);

       System.out.print("Enter the second complex number: ");

       double c = input.nextDouble();

       double d = input.nextDouble();

       Complex c2 = new Complex(c, d);

       System.out.println("(" + c1 + ")" + " + " + "(" + c2 + ")" + " = " + c1.add(c2));

       System.out.println("(" + c1 + ")" + " - " + "(" + c2 + ")" + " = " + c1.subtract(c2));

       System.out.println("(" + c1 + ")" + " * " + "(" + c2 + ")" + " = " + c1.multiply(c2));

       System.out.println("(" + c1 + ")" + " / " + "(" + c2 + ")" + " = " + c1.divide(c2));

       System.out.println("|" + c1 + "| = " + c1.abs());

       Complex c3 = c1;

       System.out.println(c1 == c3);

       System.out.println(c3.getRealPart());

       System.out.println(c3.getImaginaryPart());

   }

}

class Complex implements Cloneable {

   public interface Cloneable { }

   private double realPart;

   public double getRealPart() {

       return realPart;

   }

   public void setReal(double real) {

       this.realPart = real;

   }

   private double imaginaryPart;

   public double getImaginaryPart() {

       return imaginaryPart;

   }

   public void setImaginary(double imaginary) {

       this.imaginaryPart = imaginary;

   }

   public Complex(double a, double b) {

       realPart = a;

       imaginaryPart = b;

   }

   public Complex(double a) {

       realPart = a;

       imaginaryPart = 0;

   }

   public Complex() { }

   public Complex add(Complex comp2) {

       double real1 = this.getRealPart();

       double real2 = comp2.getRealPart();

       double imaginary1 = this.getImaginaryPart();

       double imaginary2 = comp2.getImaginaryPart();

       return new Complex(real1 + real2, imaginary1 + imaginary2);

   }

   public Complex abs() {

       double real1 = Math.abs(this.getRealPart());

       double imaginary1 = Math.abs(this.getImaginaryPart());

       return new Complex(real1, imaginary1);

   }

   public Complex subtract(Complex comp2) {

       double real1 = this.getRealPart();

       double real2 = comp2.getRealPart();

       double imaginary1 = this.getRealPart();

       double imaginary2 = comp2.getRealPart();

       return new Complex(real1 - real2, imaginary1 - imaginary2);

   }

   public Complex multiply(Complex comp2) {

       double real1 = this.getRealPart();

       double real2 = comp2.getRealPart();

       double imaginary1 = this.getRealPart();

       double imaginary2 = comp2.getRealPart();

       return new Complex(real1 * real2, imaginary1 * imaginary2);

   }

   public Complex divide(Complex comp2) {

       double real1 = this.getRealPart();

       double real2 = comp2.getRealPart();

       double imaginary1 = this.getRealPart();

       double imaginary2 = comp2.getRealPart();

       return new Complex(real1 / real2, imaginary1 / imaginary2);

   }

   public String toString() {

       String result;

       result = realPart + " + " + imaginaryPart + "i";

       return result;

   }

}

You might be interested in
Create a flowchart that assigns a counselor to a student.
Nataly [62]
Please Help! Unit 6: Lesson 1 - Coding Activity 2
Instructions: Hemachandra numbers (more commonly known as Fibonacci numbers) are found by starting with two numbers then finding the next number by adding the previous two numbers together. The most common starting numbers are 0 and 1 giving the numbers 0, 1, 1, 2, 3, 5...
The main method from this class contains code which is intended to fill an array of length 10 with these Hemachandra numbers, then print the value of the number in the array at the index entered by the user. For example if the user inputs 3 then the program should output 2, while if the user inputs 6 then the program should output 8. Debug this code so it works as intended.

The Code Given:

import java.util.Scanner;

public class U6_L1_Activity_Two{
public static void main(String[] args){
int[h] = new int[10];
0 = h[0];
1 = h[1];
h[2] = h[0] + h[1];
h[3] = h[1] + h[2];
h[4] = h[2] + h[3];
h[5] = h[3] + h[4];
h[6] = h[4] + h[5];
h[7] = h[5] + h[6];
h[8] = h[6] + h[7]
h[9] = h[7] + h[8];
h[10] = h[8] + h[9];
Scanner scan = new Scanner(System.in);
int i = scan.nextInt();
if (i >= 0 && i < 10)
System.out.println(h(i));
}
}
4 0
3 years ago
Read 2 more answers
An independent penetration testing company is invited to test a company's legacy banking application developed for Android phone
erastovalidia [21]

2010s is the one who created the iPhone

8 0
3 years ago
The answer to this question
kvv77 [185]

E is the correct answer.

Risk is present, always. Risk can be good or bad. There is a risk you could win the lottery.

Furthermore, how we perceive risk is different than what risk is actually there.

Risk can be shared amongst members of a group or company and the amount of risk can be altered or ameliorated.

Risk can always be managed.

E is the correct answer.

6 0
3 years ago
Read 2 more answers
Let's consider a long, quiet country road with houses scattered very sparsely along it. (We can picture the road as a long line
Rus_ich [418]

Answer:

Follows are the solution to these question:

Explanation:

A simple gullible algorithm is present. Let h mark the house to the left. Then we put a base station about 4 kilometers to the right. Now delete and repeat all the houses protected by this base station. In this algorithm, they can simply be seen to position baselines at b1, . . , bk as well as other algorithms (which may be an optimum algorithm) at b'_{1}, \ . . . . . . ,b'_{k'}  and so on. (from left to right)   b_1 \geq b'_{1},\ \  b_2 \geq b'_{2} That's why k \leq k'.

7 0
2 years ago
Advantages of ASCII over EBDCDIC​
KiRa [710]
<h3>Efficiency. Moreover, the same character in ASCII requires 7 bits, but EBCDIC required 8 bits. Therefore, ASCII is more efficient than EBCDIC.</h3>

7 0
3 years ago
Other questions:
  • How do I get rid of this little tool bar????
    14·1 answer
  • Match each item with a statement below. a device used in mobile devices to sense the physical position of the device an area whe
    11·1 answer
  • Which type of drawer has three dispensing modes: single-dose, multi-dose, and matrix?
    13·1 answer
  • In an oligopolistic market, consumer choice is?
    12·2 answers
  • How can you add contrast between text and headlines in a document? increase the font size of the headline make the headline long
    6·1 answer
  • Why does everyone refer to dogs as being loyal
    11·2 answers
  • What happens if i unplug my alarm system?
    11·1 answer
  • Which online article citation is correctly formatted according to MLA standards?
    15·2 answers
  • PLEASE ANSWER! I NEED IN 30 MIN.
    10·1 answer
  • Good day Statistical Methods tutor , I would like to know the formula for calculating the percentage of stockouts for the given
    14·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!