由工厂设计模式实现的Java多功能计算器(包括数值运算和图形运算以及字符串运算)

一、任务说明
采用工厂方法(Factory Method)设计模式,设计并实现一个多用能计算器。要求如下:
① 画出类图,定义每个类的属性和方法,并分析类之间的关系。
② 实现多用能计算器,分别实现数值型(标量、向量和矩阵)计算、非数值型(字符串和图形)计算功能。其中,图形仅包含正方形、圆形和等边三角形三类,该功能为选做题。功能详细描述如下。
标量计算器:加、减、乘、除
向量计算器:加、减、乘、判断是否满足运算条件
矩阵计算器:加、减、乘、判断是否满足运算条件
字符串计算器:加、减
图形计算器:加、减
用例如下:
Command: Add 11 12 13
Return:36
Command:Subtraction 11 22 33 ## 10 12 31
Return:1 10 2
Command:Multiplication matrixfile1 matrixfile2
Return:Error! The shape of the matrix is inconsistent
Command:Add Hello Hello ## World
Return: Hello Hello World
③若计算器有一个配置文件,请设计这个配置文件类,保证该类在运行中只存在一个对象。
配置文件只有两个属性,依次为:计算器版本号,利用各自学号设置;计算器支持计算类型,可以利用字符串数组实现。

二、运行结果截图:

1.数值计算:
由工厂设计模式实现的Java多功能计算器(包括数值运算和图形运算以及字符串运算)
图1 两个标量的加减乘除运算
由工厂设计模式实现的Java多功能计算器(包括数值运算和图形运算以及字符串运算)
图2 两个矢量的加减乘除运算
由工厂设计模式实现的Java多功能计算器(包括数值运算和图形运算以及字符串运算)
图3 两个矩阵的加减乘除运算

2.非数值计算:

由工厂设计模式实现的Java多功能计算器(包括数值运算和图形运算以及字符串运算)
图1 两个字符串的加减运算
由工厂设计模式实现的Java多功能计算器(包括数值运算和图形运算以及字符串运算)
图2 三角形和圆的加运算
由工厂设计模式实现的Java多功能计算器(包括数值运算和图形运算以及字符串运算)
图3 圆和三角形的加运算
由工厂设计模式实现的Java多功能计算器(包括数值运算和图形运算以及字符串运算)
图4 矩形和圆的加运算
由工厂设计模式实现的Java多功能计算器(包括数值运算和图形运算以及字符串运算)
图5 圆和矩形的加运算
由工厂设计模式实现的Java多功能计算器(包括数值运算和图形运算以及字符串运算)
图6 矩形和三角形的加运算
由工厂设计模式实现的Java多功能计算器(包括数值运算和图形运算以及字符串运算)
图7 两个矩形之间的加减运算
由工厂设计模式实现的Java多功能计算器(包括数值运算和图形运算以及字符串运算)
图8 两个圆之间的加减运算
由工厂设计模式实现的Java多功能计算器(包括数值运算和图形运算以及字符串运算)
图9 三角形和矩形的加运算
由工厂设计模式实现的Java多功能计算器(包括数值运算和图形运算以及字符串运算)
图10 两个三角形之间的加减运算

源码下载地址:
工厂设计模式的Java多功能计算器