Write a java program to create a calculator which performs addition, subtraction and multiplication of numbers for different types like integer, float and complex numbers using single function add(),sub() and multi().
CODE:
class Calculator {
// Addition for integers
public int add(int a, int b) {
return a + b;
}
// Addition for floats
public float add(float a, float b) {
return a + b;
}
// Addition for complex numbers
public ComplexNumber add(ComplexNumber a, ComplexNumber b) {
return new ComplexNumber(a.getReal() + b.getReal(), a.getImaginary() + b.getImaginary());
}
// Subtraction for integers
public int sub(int a, int b) {
return a - b;
}
// Subtraction for floats
public float sub(float a, float b) {
return a - b;
}
// Subtraction for complex numbers
public ComplexNumber sub(ComplexNumber a, ComplexNumber b) {
return new ComplexNumber(a.getReal() - b.getReal(), a.getImaginary() - b.getImaginary());
}
// Multiplication for integers
public int multi(int a, int b) {
return a * b;
}
// Multiplication for floats
public float multi(float a, float b) {
return a * b;
}
// Multiplication for complex numbers
public ComplexNumber multi(ComplexNumber a, ComplexNumber b) {
int real = a.getReal() * b.getReal() - a.getImaginary() * b.getImaginary();
int imaginary = a.getReal() * b.getImaginary() + a.getImaginary() * b.getReal();
return new ComplexNumber(real, imaginary);
}
}
class ComplexNumber {
private int real;
private int imaginary;
public ComplexNumber(int real, int imaginary) {
this.real = real;
this.imaginary = imaginary;
}
public int getReal() {
return real;
}
public int getImaginary() {
return imaginary;
}
}
public class CalculatorTest {
public static void main(String[] args) {
Calculator calculator = new Calculator();
// Addition
System.out.println("Addition:");
System.out.println("Integer Addition: " + calculator.add(5, 3));
System.out.println("Float Addition: " + calculator.add(5.5f, 3.3f));
ComplexNumber complex1 = new ComplexNumber(2, 3);
ComplexNumber complex2 = new ComplexNumber(4, 5);
ComplexNumber complexSum = calculator.add(complex1, complex2);
System.out.println("Complex Addition: " + complexSum.getReal() + " + " + complexSum.getImaginary() + "i");
// Subtraction
System.out.println("\nSubtraction:");
System.out.println("Integer Subtraction: " + calculator.sub(5, 3));
System.out.println("Float Subtraction: " + calculator.sub(5.5f, 3.3f));
ComplexNumber complexDiff = calculator.sub(complex1, complex2);
System.out.println("Complex Subtraction: " + complexDiff.getReal() + " + " + complexDiff.getImaginary() + "i");
// Multiplication
System.out.println("\nMultiplication:");
System.out.println("Integer Multiplication: " + calculator.multi(5, 3));
System.out.println("Float Multiplication: " + calculator.multi(5.5f, 3.3f));
ComplexNumber complexProduct = calculator.multi(complex1, complex2);
System.out.println("Complex Multiplication: " + complexProduct.getReal() + " + " + complexProduct.getImaginary() + "i");
}
}
- Define a class Calculator with methods to perform addition, subtraction, and multiplication for different types of numbers.
- Define overloaded methods for each operation (add, sub, and multi) to handle different types of input parameters (integers, floats, and complex numbers).
- For addition: Implement methods to add two integers, two floats, and two complex numbers separately.
- For subtraction: Implement methods to subtract two integers, two floats, and two complex numbers separately.
- For multiplication: Implement methods to multiply two integers, two floats, and two complex numbers separately.
- Define a class ComplexNumber to represent complex numbers with real and imaginary parts.
- Inside the CalculatorTest class: Create an instance of the Calculator class. Test each operation (addition, subtraction, and multiplication) for different types of numbers (integer, float, and complex).
- Print the results of each operation.
- End of the program.