策略模式定义了一系列算法,每个算法封装起来,他们可以相互替换,且算法的变化不会影响到使用算法的客户。可以设计一个抽象类提供辅助。

package WHP;

public interface ICalculator {
public int calculate(String exp);
}
 1 package WHP;
2
3 public class AbstractCalculator {
4
5 public int[] split(String exp, String opt) {
6 // TODO Auto-generated method stub
7 String array[] = exp.split(opt);
8 int arrayInt[] = new int[2];
9 arrayInt[0] = Integer.parseInt(array[0]);
10 arrayInt[1] = Integer.parseInt(array[1]);
11 return arrayInt;
12 }
13 }

AbstractCalculator

 1 package WHP;
2
3 public class Plus extends AbstractCalculator implements ICalculator {
4
5 public int calculate(String exp) {
6 // TODO Auto-generated method stub
7 int arrayInt[]=split(exp,"\\+");
8 return arrayInt[0]+arrayInt[1];
9 }
10 }

Plus

 1 package WHP;
2
3 public class Minus extends AbstractCalculator implements ICalculator {
4
5 public int calculate(String exp) {
6 // TODO Auto-generated method stub
7 int arrayInt[] = split(exp, "-");
8 return arrayInt[0] + arrayInt[1];
9 }
10 }

Minus

最新文章

  1. ACM/ICPC 之 DFS求解欧拉回路+打表(POJ1392)
  2. HighchartsJS创建点状带标识的图表实例
  3. CI整合Smarty
  4. SAP无损耗,FP前台和回写均有2%损耗
  5. Delphi 编译错误信息表
  6. linux之centos安装xampp
  7. [改善Java代码] 避免instanceof非预期结果
  8. delphi if 语句循环语句
  9. jenkins插件 build-name-setter
  10. Odwiedziny[POI 2015]
  11. 20160214.CCPP体系详解(0024天)
  12. 03_Weblogic之配置简单域:启动和配置域,使用模板创建域,使用控制台
  13. Android弹幕功能实现,模仿斗鱼直播的弹幕效果
  14. python-memcached学习笔记
  15. spring security运行流程图(转)
  16. Spark记录-Spark性能优化(开发、资源、数据、shuffle)
  17. ArcGIS案例学习笔记2_1_山顶点提取最大值提取
  18. C# Excel To DataTable
  19. tali -f 和 tail -F 之间的区别
  20. Windows下RabbitMQ安装及配置

热门文章

  1. 把逗号分隔的String字符串转List<Integer>
  2. centos mininet安装-坑
  3. java运算符相关学习
  4. vue实现图片上传且实时预览
  5. MySQL Galera cluster 集群常用参数说明
  6. C# 设置桌面为父窗口
  7. 》》》Win10配置Jdk环境变量
  8. 网页端微信小程序客服
  9. mysql企业常用集群架构
  10. 在windows上搭建spark遇到的问题