当前位置: 首页 > news >正文

电影网站怎么做平面设计师网站都有哪些

电影网站怎么做,平面设计师网站都有哪些,济南专业做网站公司,怎么做dj网站解释器 是一种不常用的设计模式用于描述如何构成一个简单的语言解释器#xff0c;主要用于使用面向对象语言开发的解释器和解释器设计当我们需要开发一种新的语言时#xff0c;可以考虑使用解释器模式尽量不要使用解释器模式#xff0c;后期维护会有很大麻烦。在项目中主要用于使用面向对象语言开发的解释器和解释器设计当我们需要开发一种新的语言时可以考虑使用解释器模式尽量不要使用解释器模式后期维护会有很大麻烦。在项目中可以使用jruby、groovy、java的js引擎来替代解释器的作用弥补java语言的不足。 开发中常见的场景 EL表达式的处理正则表达式解释器SQL语法的解释器数学表达式解释器 举例代码实现 解析和执行数学表达式 输入54*5-8/4,输出“23”抽象解释器接口 /*** 抽象解释器接口*/ public interface Expression {int interpret(Context context); }终结符表达式 /*** 数值表达式---终结符表达式*/ public class NumberExpression implements Expression{private Integer number;public NumberExpression(Integer number) {super();this.number number;}Overridepublic int interpret(Context context) {return number;} } /*** 运算符号表达式---终结符表达式* symbol* 1加 * 2减 * 3乘 * 4除 */ public class SymbolExpression implements Expression {private int symbol; public SymbolExpression(int symbol) {super();this.symbol symbol;}Overridepublic int interpret(Context context) {return symbol;} }非终结符表达式 /*** 加法表达式——加法表达式也是数值表达式的一种*/ public class AdditionExpression extends NumberExpression{private NumberExpression left;private NumberExpression right;public AdditionExpression(NumberExpression left, NumberExpression right) {super(1);this.left left;this.right right;}Overridepublic int interpret(Context context) {return left.interpret(context) right.interpret(context);} } /*** 减法表达式---减法表达式也是数值表达式的一种*/ public class SubtractExpression extends NumberExpression{private NumberExpression left;private NumberExpression right;public SubtractExpression(NumberExpression left, NumberExpression right) {super(2);this.left left;this.right right;}Overridepublic int interpret(Context context) {return left.interpret(context) - right.interpret(context);} } /*** 乘法表达式——乘法表达式也是数值表达式的一种*/ public class MultiplicationExpression extends NumberExpression{private NumberExpression left;private NumberExpression right;public MultiplicationExpression(NumberExpression left, NumberExpression right) {super(3);this.left left;this.right right;}Overridepublic int interpret(Context context) {return left.interpret(context) * right.interpret(context);} } /*** 除法表达式——除法表达式也是数值表达式的一种*/ public class DivisionExpression extends NumberExpression{private NumberExpression left;private NumberExpression right;public DivisionExpression(NumberExpression left, NumberExpression right) {super(4);this.left left;this.right right;}Overridepublic int interpret(Context context) {return left.interpret(context) / right.interpret(context);} }上下文类(context) public class Context {Expression expression;public Context(String expression) {Expression parse init(expression);this.expression parse;}public int calculate(){return this.expression.interpret(this);}private Expression init(String expression) {LinkedListExpression linkedList new LinkedListExpression();int num 0;for(int i0;iexpression.length();i) {char ati;if((atiexpression.charAt(i))0 ati9) {num num*10 (ati-0);}else {addNum(linkedList, num);SymbolExpression symbolExpression null;switch (ati) {case :symbolExpression new SymbolExpression(1);break;case -:symbolExpression new SymbolExpression(2);break;case *:symbolExpression new SymbolExpression(3);break;case /:symbolExpression new SymbolExpression(4);break;default:break;}num 0;linkedList.addLast(symbolExpression);}}addNum(linkedList, num);return getExpression(linkedList);}/*** 添加num* param linkedList* param num*/private void addNum(LinkedListExpression linkedList,int num) {NumberExpression numberExpression new NumberExpression(num);if(!linkedList.isEmpty()) {Expression symbol linkedList.pollLast();if(symbol.interpret(this)1 || symbol.interpret(this)2) {linkedList.addLast(symbol);}else {NumberExpression left (NumberExpression)linkedList.pollLast();NumberExpression right numberExpression;if(symbol.interpret(this)3) {numberExpression new MultiplicationExpression(left, right);}else {numberExpression new DivisionExpression(left, right);}}}linkedList.add(numberExpression);}/*** 获取Expression* param linkedList* return*/private Expression getExpression(LinkedListExpression linkedList){SymbolExpression symbolExpression null;NumberExpression left null;while(!linkedList.isEmpty()){Expression tempExpression linkedList.pollFirst();if(tempExpression instanceof SymbolExpression){symbolExpression (SymbolExpression)tempExpression;}else{if(leftnull){left (NumberExpression)tempExpression;}else{NumberExpression right (NumberExpression)tempExpression;switch (symbolExpression.interpret(this)) {case 1:left new AdditionExpression(left, right);break;case 2:left new SubtractExpression(left, right);break;case 3:left new MultiplicationExpression(left, right);break;case 4:left new DivisionExpression(left, right);break;default:break;}}}}return left;} } 客户端调用 public static void main(String[] args) {Context context new Context(3312*942/26/3);int calculate context.calculate();System.out.println(计算结果calculate:calculate); }结果 更多设计模式学习 设计模式(1)介绍           设计模式(2)单例模式           设计模式(3)工厂模式           设计模式(4)建造者模式           设计模式(5)原型模式           设计模式(6)桥接模式           设计模式(7)装饰器模式           设计模式(8)组合模式           设计模式(9)外观模式           设计模式(10)享元模式           设计模式(11)适配器模式           设计模式(12)代理模式           设计模式(13)模板方法模式           设计模式(14)命令模式           设计模式(15)迭代器模式           设计模式(16)观察者模式           设计模式(17)中介者模式           设计模式(18)状态模式           设计模式(19)策略模式           设计模式(20)责任链模式           设计模式(21)备忘录模式           设计模式持续更新中…
http://www.tj-hxxt.cn/news/136322.html

相关文章:

  • 莲湖微网站建设如何注册公司费用
  • 自媒体运营小程序开发网站建设博客社区类网站模板下载
  • 短视频营销推广方式搜索引擎排名优化seo课后题
  • 怎么建设手机端网站如何防止网站被镜像
  • 阿里云虚拟主机建站教程中国做的最好的网站建设公司
  • 代做网站app苏州企业网站建站系统
  • 网站建设公司的市场营销方案无锡企业网站排名优化
  • 网站推广该怎么做网站建设推广服务商
  • 做网站怎么在图片里面插字重庆工程交易信息网
  • 源码怎么做网站中国娱乐公司三大巨头
  • 湛江网站建设湛江wordpress 301
  • 如何建立公司网站招标网站建设包括哪些东西
  • 三亚建设局网站杭州seo网站推广软件
  • 开发网站公司如何运营app网站开发框架
  • 用什么做视频网站比较好怎么做透明的网站图片
  • 网站dw建设医院做网站备案都需要什么
  • 东莞住房建设网站的网线上购买链接
  • 网站建设出现乱码北京外包公司排行榜
  • 用符号做照片的网站百度网页设计教程
  • 广州网站建设定制价格蓬莱做网站案例
  • 网站速度优化 js加载做图表的网站 免费
  • 网站建设文化流程图网站建设的建议例子
  • 备案 几个网站给境外合法网站做数据
  • 网站自助搭建平台苏州网站建设哪家好
  • 免费建设一个网站电脑版网站建设合同范本
  • 网站推广软件推广南通市城乡建设局网站
  • 做销售在那个网站找外卖网站建设的策划方案
  • 郑州的做网站公司有哪些如何用frontpage2003做网站
  • 怎么建设银行网站注册做oa系统的网站
  • 昌平网站建设公司自己的网站