本文共 3790 字,大约阅读时间需要 12 分钟。
Scanner scanner=new Scanner(System.in);System.out.println("请输入第一个数");double numA=scanner.nextDouble();System.out.println("请输入第二个数");double numB=scanner.nextDouble();System.out.println("请输入运算符");String operate=scanner.next();double result=0;switch (operate){ case "+": result=numA+numB; break; case "-": result=numA-numB; break; case "*": result=numA*numB; break; case "/": result=numA/numB; break;}System.out.println("最后结果为:"+result);
public double getResult(double numberA, double numberB, char operate) { double result = 0d; switch (operate) { case '+': result = numberA + numberB; break; case '-': result = numberA - numberB; break; case '*': result = numberA * numberB; break; case '/': result = numberA / numberB; break; default: break; } return result;}
public abstract class Operation { public double numberA; public double numberB; public abstract double getResult();}
加减乘除类
public class OperationAdd extends Operation { public double getResult() { double result = 0d; result = numberA + numberB; return result; }}public class OperationSub extends Operation { public double getResult() { double result = 0d; result = numberA - numberB; return result; }}剩下的几个运算类代码类似,就不写了
public class OperationFactory { public static Operation createOperate(char operate) { Operation oper = null; switch (operate) { case '+': oper = new OperationAdd(); break; case '-': oper = new OperationSub(); break; case '*': oper = new OperationMul(); break; case '/': oper = new OperationDiv(); break; default: break; } return oper; }}
public static void main(String[] args) { // TODO Auto-generated method stub Operation oper; oper= OperationFactory.createOperate('+'); oper.numberA=5; oper.numberA=6; double result=oper.getResult();}
看下程序的UML类图: