0% found this document useful (0 votes)
7 views4 pages

Experiment 01:: Import Import Class Double Double

Uploaded by

lomtenavnath28
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views4 pages

Experiment 01:: Import Import Class Double Double

Uploaded by

lomtenavnath28
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Experiment 01:

/*
1.Classes and objects: Design a class ‘Complex ‘with data members for real and
imaginary parts. Provide default and Parameterized constructors. Write a program to
perform arithmetic operations of two complex numbers.
*/

import java.text.DecimalFormat;
import java.util.*;

class Complex {
double real;
double imaginary;

Complex(){
this(0,0);
}

Complex(double real, double imaginary){


this.real = real;
this.imaginary = imaginary;
}

static Complex addition(Complex num1, Complex num2){


return new Complex(num1.real + num2.real, num1.imaginary + num2.imaginary);
}

static Complex subtractions(Complex num1, Complex num2){


return new Complex(num1.real - num2.real, num1.imaginary - num2.imaginary);
}

static Complex multiplication(Complex num1, Complex num2){


double realPart = (num1.real * num2.real) - (num1.imaginary *
num2.imaginary);
double imaginaryPart = (num1.real * num2.imaginary) + (num1.imaginary *
num2.real);

return new Complex(realPart, imaginaryPart);


}

static Complex division(Complex num1, Complex num2) {


double realNum = ((num1.real*num2.real) + (num1.imaginary*num2.imaginary));
double realDen = (num2.real*num2.real + num2.imaginary*num2.imaginary);
double realPart = realNum / realDen;
double imagNum = ((num1.imaginary*num2.real)- (num1.real * num2.imaginary));
double imagDen = (num2.real*num2.real + num2.imaginary*num2.imaginary);
double imagPart = imagNum / imagDen;

return new Complex(realPart, imagPart);


}

static Complex takeInput(String num) {


Scanner sc = new Scanner(System.in);
System.out.print("Enter " + num + " Real part: ");
double real = sc.nextDouble();
System.out.print("Enter " + num + " Imaginary part: ");
double imag = sc.nextDouble();
return new Complex(real, imag);
}

static void display(Complex num){


DecimalFormat numberFormat = new DecimalFormat("#.##");
System.out.print("(" + numberFormat.format(num.real) + " + " +
numberFormat.format(num.imaginary) + "i" + ")");
}

static void displayResult(Complex num1, String opra, Complex num2, Complex


result){
System.out.println("\n");
System.out.println("The Answer is: ");
Complex.display(num1);
System.out.print(" " + opra + " ");
Complex.display(num2);
System.out.print(" = ");
Complex.display(result);
System.out.println('\n');
}
}

public class Assignment_01 {


public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Complex number1 = Complex.takeInput("Num1");
System.out.print("Enter A: Addition, S: Subtraction, M: Multiplication, D:
Division, E: Exit: ");
String input = sc.nextLine().trim().toUpperCase();
while(!"E".equals(input)){
switch (input){
case "A" -> {
Complex number2 = Complex.takeInput("Num2");
Complex addition = Complex.addition(number1, number2);
Complex.displayResult(number1, "+", number2, addition);
}
case "S" -> {
Complex number2 = Complex.takeInput("Num2");
Complex subtraction = Complex.subtractions(number1, number2);
Complex.displayResult(number1, "-", number2, subtraction);
}
case "M" -> {
Complex number2 = Complex.takeInput("Num2");
Complex multiplication = Complex.multiplication(number1,
number2);
Complex.displayResult(number1, "*", number2, multiplication);
}
case "D" -> {
Complex number2 = Complex.takeInput("Num2");
Complex division = Complex.division(number1, number2);
Complex.displayResult(number1, "/", number2, division);
}
default -> System.out.println("Incorrect operator!");
}
System.out.println("Would you like to try again(Y/N): ");
String input2 = sc.nextLine().trim().toUpperCase();
if("N".equals(input2)){
break;
}else{
number1 = Complex.takeInput("Num1");
System.out.print("Enter A: Addition, S: Subtraction, M:
Multiplication, D: Division, E: Exit: ");
input = sc.nextLine().trim().toUpperCase();
}
}
System.out.println("See you later!");
sc.close();
}
}

Output:
Enter Num1 Real part: 12
Enter Num1 Imaginary part: 7
Enter A: Addition, S: Subtraction, M: Multiplication, D: Division, E:
Exit: S
Enter Num2 Real part: 22
Enter Num2 Imaginary part: 13

The Answer is:


(12 + 7i) - (22 + 13i) = (-10 + -6i)

Would you like to try again(Y/N):


Y
Enter Num1 Real part: 33
Enter Num1 Imaginary part: 22
Enter A: Addition, S: Subtraction, M: Multiplication, D: Division, E:
Exit: M
Enter Num2 Real part: 10
Enter Num2 Imaginary part: 7

The Answer is:


(33 + 22i) * (10 + 7i) = (176 + 451i)

Would you like to try again(Y/N):


N
See you later!

You might also like