本文创建一个简单计算器,应用简单工厂模式:程序功能,用户输入俩个数字和一个运算符(+-*/),输出答案.
- //创建基类
- Class Operation{
- double mnumberA,mnumberB,result=0;
- getmnumberA(){
- return mnumberA;
- }
- setmnumberA(double a){
- mnumberA=a;
- }
- getmunmberB(){
- return mnumberB;
- }
- setmnumberB(double b){
- mnmuberB=b;
- }
- getResult(){
- return result;
- }
- }
- //创建四个类,功能分别为进行四个运算,继承Operation类
- Class opadd{
- double getResult(double a,double b){
- return a+b;
- }
- }
- Class opdec{
- double getResult(double a,double b){
- return a-b;
- }
- }
- Class opmul{
- double getResult(double a,double b){
- return a*b;
- }
- }
- Class opdiv{
- double getResult(double a,double b){
- return a/b;
- }
- }
- //创建工厂类
- Class Factory{
- String result;
- getResult(double a,double b,String op){
- switch(op){
- case "+"
- result=opadd.getResult(a,b);
- break;
- case "-"
- result=opdec.getResult(a,b);
- break;
- case "*"
- result=opmul.getResult(a,b);
- break;
- case "/"
- result=opmul.getResult(a,b);
- break;
- }
- }
- return result;
- }
- //主函数
- Class Program{
- public static void main(string[] args){
- Scaner scaner=new Scaner(System.in);
- system.out.println("请输入数字a:");
- double a=scaner.nextdouble();
- system.out.println("请输入数字b:");
- double b=scaner.nextdouble();
- systme.out.println("请输入运算符");
- string c=scaner.next();
- double result=Factory.getResult(a,b,c);
- system.out.println(result);
- }
- }
注:本小白刚学习设计模式,难免会有一些错误,甚至本质性的错误,如有发现,还请交流
此代码为纯手工编写,所以格式应该会有一些错误,谨慎复制