使用简单工厂模式开发一个包含加减乘除功能的计算器。
思路如下:
1、构造一个计算器抽象类;属性:含有两个参与计算的数字;方法:获取返回计算结果。
2、创建加法、减法、乘法、除法功能子类,继承计算器,在子类中实现父类方法,在方法中计算后并返回计算结果。
3、写一个测试类里面包含如下:(1)获取运算符,根据运算符确定需要生成的计算器类型。(2)获取运算数字,使用Scanner在键盘获取运算参数。(4)根据获取到的键盘输入结果给计算器参与运算的参数赋值。(5)输出计算结果并打印。
很简单的一个小程序,大家一起来康康源代码吧~
计算器抽象类:
public abstract class Calcuator {
private Double a;
private Double b;
public Double getA() {
return a;
}
public void setA(Double a) {
this.a = a;
}
public Double getB() {
return b;
}
public void setB(Double b) {
this.b = b;
}
public abstract double getResult();
}
加法子类:
public class Add extends Calcuator{
@Override
public double getResult() {
return getA()+getB();
}
}
减法子类:
public class Sub extends Calcuator{
@Override
public double getResult() {
return getA()-getB();
}
}
乘法子类:
public class Mul extends Calcuator {
@Override
public double getResult() {
return getA()*getB();
}
}
除法子类:
public class Div extends Calcuator{
@Override
public double getResult() {
return getA()/getB();
}
}
计算器测试主函数:
public class CalcuatorDemo {
public static void main(String[] args) {
System.out.println("请选择运算符:1、加法,2、减法,3、乘法,4、除法;");
Scanner scanner = new Scanner(System.in);
int operator=scanner.nextInt();
System.out.println("请输入第一个数字");
Double a= scanner.nextDouble();
System.out.println("请输入第二个数字");
Double b=scanner.nextDouble();
Calcuator calcuator=null;
switch (operator){
case 1:
calcuator=new Add();
break;
case 2:
calcuator=new Sub();
break;
case 3:
calcuator=new Mul();
break;
case 4:
calcuator=new Div();
break;
}
calcuator.setA(a);
calcuator.setB(b);
System.out.println("计算结果是:"+calcuator.getResult());
}
}
程序运行截图:
这个程序很简单,同时很具有代表性,大家感兴趣的可以写一写,感谢大家支持,河子也是正在学习Java的一名学生,欢迎大家一起交流,最近有时间我会继续更新~