Monday, 9 January 2017

Create an interface Calculator which has the following methods - add, subtract, multiply, divide - The above methods take 2 parameters of double type and returns a value of double type. - Create 2 different types of calculator implementations – BasicCalculator and ScientificCalculator. - The BasicCalculator only has the implementations of methods defined in the Calculator interface - The ScientificCalculator also has power, square and squareRoot methods in addition to the methods in the BasicCalculator (show how this is achieved using interface extension). - power takes 2 parameters of double type and returns a value of double type. - square & squareRoot takes 1 parameter of double type and returns a value of double type. - Change the class definitions as appropriate (add extends/implements as required)

package calculator;
import java.io.*;
import java.util.*;
import java.lang.Math;
import java.util.Scanner;

interface Calculator
{
    public double add(double a,double b);
    public double subtract(double a,double b);
    public double multiply(double a,double b);
    public double divide(double a,double b);
}

class BasicCalculator implements Calculator
{
public double add(double a,double b){
   return (a+b);
}
public double subtract(double a,double b){
   return (a-b);
}
public double multiply(double a,double b){
   return (a*b);
}
public double divide(double a,double b){
   return (a/b);
}
}

class ScientificCalculator extends BasicCalculator
{
    public double add(double a,double b){
   return (a+b);
}
public double subtract(double a,double b){
   return (a-b);
}
public double multiply(double a,double b){
   return (a*b);
}
public double divide(double a,double b){
   return (a/b);
}
    public double power(double a,double b) {
        return (Math.pow(a,b));
    }
    public double square(double a) {
        return (a*a);
    }
    public double squareRoot(double a) {
        return (Math.sqrt(a));
    }
}
class cal {
    public static void main(String []args) {
   
    ScientificCalculator sc=new ScientificCalculator();
        Scanner scan=new Scanner(System.in);
        System.out.println("Enter two numbers :");
        double a=scan.nextDouble();
        double b=scan.nextDouble();
        int ch = scan.nextInt();
       
            System.out.println("1.Add 2.Subtract 3.Multiply 4.Divide 5.Power 6.Square 7.squareroot");
            System.out.println("\n Enter your choice ");
           
            switch(ch){
                case 1 : System.out.println(sc.add(a,b));
                            break;
                case 2 : System.out.println(sc.subtract(a,b));
                            break;
                case 3 : System.out.println(sc.multiply(a,b));
                            break;
case 4 : System.out.println(sc.divide(a,b));
break;
case 5 : System.out.println(sc.power(a,b));
break;
case 6 : System.out.println(sc.square(a));
break;
case 7 : System.out.println(sc.squareRoot(a));
break;
default : System.out.println("WRONG INPUT");

}
     
    }
}

No comments:

Post a Comment