Java实现简单计算器功能【简单工厂模式】

来源:互联网 发布:mac战网无法启动 编辑:程序博客网 时间:2024/06/06 10:11

Java实现简单计算器功能【简单工厂模式】
首先创建一个包package【com.simpleFactory】,给自己的计算器开辟出一处空间来。
【说明】软件包机制:
1、 为了解决类的命名冲突问题,在类名前加命名空间(包机制)
2、 在Java中使用package语句定义包。(单包、复包)
3、 package定义的格式,通常采用公司域名倒叙方式。
例如:com.microsoft.oa.system;

以上包含义:microsoft公司开发oa项目,system是oa项目中其中一个模块

package定义的全格式:公司域名倒叙.项目名.模块名;
4、 package语句只能出现在.java源文件的第一行。
5、 完整的类名是带有包的。
6、 带有package语句的java源文件必须这样编译:
javac –d 生成路径 java源文件路径(绝对路径和相对路径)
7、 运行:
java com.microsoft.oa.system.test

【Java代码】

//Operation类:存储运算对象和得到结果的方法getResultValue()package com.simpleFactory;public class Operation{    private double numberA;    private double numberB;    public double getResultValue()    {        return 0.0;    //默认返回结果    }    public double getNumberA()    {        return numberA;    }    public double getNumberB()    {        return numberB;    }    public void setNumberA(double numberA)    {        this.numberA = numberA;    }    public void setNumberB(double numberB)    {        this.numberB = numberB;    }}//Addition类:实现加法运算package com.simpleFactory;public class Addition extends Operation{    public double getResultValue()    {        return getNumberA() + getNumberB();    }}//Subtraction类:实现减法运算package com.simpleFactory;public class Subtraction extends Operation{    public double getResultValue()    {        return getNumberA() - getNumberB();    }}//Multiplication类:实现乘法运算package com.simpleFactory;public class Multiplication extends Operation{    public double getResultValue()    {        return getNumberA() * getNumberB();    }}//SimpleFactory类:简单工厂类,用来实例化运算方法package com.simpleFactory;public class SimpleFactory{    private Operation operation;    public Operation factoryOperate(String type)    {        switch (type)        {            case "+":                operation = new Addition(); break;            case "-":                operation = new Subtraction(); break;            case "*":                operation = new Multiplication(); break;        }        return operation;    }}//test类:实验计算器package com.simpleFactory;public class test{    public static void main(String[] args)    {        java.util.Scanner sc = new java.util.Scanner(System.in);        SimpleFactory factory = new SimpleFactory();        System.out.print("Please input a Number[A]:");        double NumA = sc.nextDouble();        System.out.print("Please input another Number[B]:");        double NumB = sc.nextDouble();        System.out.print("Please input a operation[+、-、*]:");        String oper = sc.next();        Operation operation = factory.factoryOperate(oper);        operation.setNumberA(NumA);        operation.setNumberB(NumB);        double result = operation.getResultValue();        System.out.print("result = " + result);    }}/*【编译】    javac –d D:\ *.java【首先要用cd命令进入.java源文件的路径】【运行】    java com.simpleFactory.test*/
原创粉丝点击