Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

How do I prompt the code to ask for numbers to input instead of having static nu

ID: 3576992 • Letter: H

Question

How do I prompt the code to ask for numbers to input instead of having static numbers as it does now?

public class Complex{
private final double real; // real
private final double imaginary; //imaginary

public Complex(double re, double imag) {
real = re;
imaginary = imag;
}
  
public String toString() {
if (imaginary == 0) return real + "";
if (real == 0) return imaginary + "i";
if (imaginary < 0) return real + " - " + (-imaginary) + "i";
return real + " + " + imaginary + "i";
}

// abs
public double abs() {
return Math.hypot(real, imaginary);
}

//addition
public Complex plus(Complex b) {
Complex a = this;
double real = a.real + b.real;
double imag = a.imaginary + b.imaginary;
return new Complex(real, imag);
}
//subtraction
public Complex minus(Complex b) {
Complex a = this;
double real = a.real - b.real;
double imag = a.imaginary - b.imaginary;
return new Complex(real, imag);
}
///multiplication
public Complex times(Complex b) {
Complex a = this;
double real = a.real * b.real - a.imaginary * b.imaginary;
double imag = a.real * b.imaginary + a.imaginary * b.real;
return new Complex(real, imag);
}
//use for division
public Complex reciprocal() {
double scale = real*real + imaginary*imaginary;
return new Complex(real / scale, -imaginary / scale);
}

// return the real or imaginary part
public double re() { return real; }
public double im() { return imaginary; }

// division
public Complex divides(Complex b) {
Complex a = this;
return a.times(b.reciprocal());
}


public boolean equals(Object x) {
if (x == null) return false;
if (this.getClass() != x.getClass()) return false;
Complex that = (Complex) x;
return (this.real == that.real) && (this.imaginary == that.imaginary);
}

public static void main(String[] args) {
Complex a = new Complex(5.0, 6.0);
Complex b = new Complex(-3.0, 4.0);

System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("b + a = " + b.plus(a));
System.out.println("a - b = " + a.minus(b));
System.out.println("a * b = " + a.times(b));
System.out.println("a / b = " + a.divides(b));
System.out.println("|a| = " + a.abs());
  
}

}

Explanation / Answer

// Complex.java

import java.util.Scanner;

public class Complex{
private final double real; // real
private final double imaginary; //imaginary
public Complex(double re, double imag) {
real = re;
imaginary = imag;
}
  
public String toString() {
if (imaginary == 0) return real + "";
if (real == 0) return imaginary + "i";
if (imaginary < 0) return real + " - " + (-imaginary) + "i";
return real + " + " + imaginary + "i";
}
// abs
public double abs() {
return Math.hypot(real, imaginary);
}
//addition
public Complex plus(Complex b) {
Complex a = this;
double real = a.real + b.real;
double imag = a.imaginary + b.imaginary;
return new Complex(real, imag);
}
//subtraction
public Complex minus(Complex b) {
Complex a = this;
double real = a.real - b.real;
double imag = a.imaginary - b.imaginary;
return new Complex(real, imag);
}
///multiplication
public Complex times(Complex b) {
Complex a = this;
double real = a.real * b.real - a.imaginary * b.imaginary;
double imag = a.real * b.imaginary + a.imaginary * b.real;
return new Complex(real, imag);
}
//use for division
public Complex reciprocal() {
double scale = real*real + imaginary*imaginary;
return new Complex(real / scale, -imaginary / scale);
}
// return the real or imaginary part
public double re() { return real; }
public double im() { return imaginary; }
// division
public Complex divides(Complex b) {
Complex a = this;
return a.times(b.reciprocal());
}

public boolean equals(Object x) {
if (x == null) return false;
if (this.getClass() != x.getClass()) return false;
Complex that = (Complex) x;
return (this.real == that.real) && (this.imaginary == that.imaginary);
}
public static void main(String[] args) {

Scanner sc=new Scanner(System.in);

System.out.print("Enter real part of first complex number: ");
double realA = sc.nextDouble();
System.out.print("Enter imaginary part of first complex number: ");
double imgA = sc.nextDouble();
System.out.print("Enter real part of second complex number: ");
double realB = sc.nextDouble();
System.out.print("Enter imaginary part of second complex number: ");
double imgB = sc.nextDouble();

Complex a = new Complex(realA, imgA);
Complex b = new Complex(realB, imgB);

System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("b + a = " + b.plus(a));
System.out.println("a - b = " + a.minus(b));
System.out.println("a * b = " + a.times(b));
System.out.println("a / b = " + a.divides(b));
System.out.println("|a| = " + a.abs());
  
}
}

/*
output:

Enter real part of first complex number: 5.0
Enter imaginary part of first complex number: 6.0
Enter real part of second complex number: -3.0
Enter imaginary part of second complex number: 4.0
a = 5.0 + 6.0i
b = -3.0 + 4.0i
b + a = 2.0 + 10.0i
a - b = 8.0 + 2.0i
a * b = -39.0 + 2.0i
a / b = 0.36 - 1.52i
|a| = 7.810249675906654


*/

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote