Sunday, June 19, 2011

Calculator OOP

import java.util.Scanner;
public class Calculator{
private double val1;
private double val2;
private char sign;

public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException{
Scanner in = new Scanner(System.in);
Calculator calc = new Calculator();
calc.val1 = in.nextDouble();
calc.sign = in.next().charAt(0);
calc.val2 = in.nextDouble();

String className = Controller.actionDefine(calc.sign);

Uildel ul = (Uildel) Class.forName(className).newInstance();
ul.action(calc.val1, calc.val2);
ul.display();
System.out.println("Finish");
}

}
class Controller{
public static String actionDefine(char sign){
String className = null;
switch(sign){
case '+':
className = "Nemeh";
break;
default: System.out.println("Uuchlaarai iim uildel Version 2.0 deer nemegdene.");
}
return className;
}
}
abstract class Uildel{
private char sign;
protected double resultVal = 0;
public char getSign(){
return this.sign;
}
abstract public void action(double val1, double val2);
public void display(){
System.out.println(this.resultVal);
}
}
class Nemeh extends Uildel{
private char sign = '+';
private String className = "Nemeh";
public void action(double val1, double val2){
this.resultVal = val1 + val2;
}
}

No comments:

Post a Comment