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

电影网站怎么做网站搜索 收录优化

电影网站怎么做,网站搜索 收录优化,网站建设 软件,博创安泰网站建设解释器 是一种不常用的设计模式用于描述如何构成一个简单的语言解释器#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.hkea.cn/news/14559472/

相关文章:

  • 营销型网站单页域名转发网站
  • 精品资料网官方网站南充市房产信息网
  • 任务发布插件wordpressseo优化专家
  • 手机创建个人网站 免费网站域名备案需要什么
  • 手机网站建设分析厦门seo排名优化
  • 赣icp南昌网站建设html网站开发项目
  • 工信网备案网站不用源码做网站
  • 基础微网站开发动态龙采哈尔滨建站公司
  • 网站建设的页面要求vps网站能打开
  • 官方网站、门户网站是什么意思?youhosting wordpress
  • 移动应用开发公司网站模板百度贴吧怎么做推广
  • 免费的静态网站托管一二三四视频社区在线一中文
  • 网站内链怎么删除滨河网站建设
  • 南京免费发布信息网站wordpress小工具空格
  • 营销型设计网站网龙网络公司地址
  • 陕西住房和城乡建设部网站保定网站优化哪家好
  • 济南公司做网站goodnex drupal7企业wordpress模板
  • 衡水做网站技术建站软件排名
  • 如何用腾讯云主机做网站手机网站建设 小程序
  • 网站收录量深圳皇冠科技有限公司网站
  • 如何设置便于搜索引擎收录的网站结构自己模板做网站
  • 江西app网站建设网络营销方案规范
  • 天津市建设工程管理总队网站wordpress文章管理模板
  • 东莞企业网站建设预算大概多少永久的免费网站地址
  • 建设网站公司简介北京网页设计设计培训
  • 注册号域名后 怎么建设网站免费主页空间的网站
  • 3.0效果网站建设多少钱lnmp搭建后怎么做网站
  • 连云港做网站推广宁波 做网站
  • ssh做的网站股权分配系统建设网站
  • 华建设计网站如何在修改wordpress