news 2026/7/31 11:06:44

详谈:解释器模式(三)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
详谈:解释器模式(三)

我们接上文来继续讲:

计算符怎么处理呢?计算符左右两边可能是单个数字,也可能是另一个计算公式。但无论是数字还是公式,两者都有一个共同点,那就是他们都会返回一个整数:数字返回其本身,公式返回其计算结果。

所以我们可以根据这个共同点提取出一个返回整数的接口,数字和计算符都作为该接口的实现类。在计算时,使用栈结构存储数据,将数字和计算符统一作为此接口的实现类压入栈中计算。

talk is cheap, show me the code.

数字和计算符公共的接口:

interface Expression { int intercept(); }

上文已经说到,数字和计算符都属于表达式的一部分,他们的共同点是都会返回一个整数。从表达式计算出整数的过程,我们称之为解释(intercept)。

对数字类的解释实现起来相对比较简单:

public class Number implements Expression { int number; public Number(char word) { switch (word) { case '零': number = 0; break; case '一': number = 1; break; case '二': number = 2; break; case '三': number = 3; break; case '四': number = 4; break; case '五': number = 5; break; case '六': number = 6; break; case '七': number = 7; break; case '八': number = 8; break; case '九': number = 9; break; default: break; } } @Override public int intercept() { return number; } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/30 7:26:07

Eltable二次封装

封装 <template><div><el-table:data"tableData"borderstripe:header-row-style"{background: #F1F6FF !important,color: #3E445,fontWeight: 500,}"><template v-for"(item, index) in column" ><el-table-column…

作者头像 李华
网站建设 2026/7/30 19:02:44

Apache Shiro 教程

Apache Shiro 完整教程 &#x1f4da; 教程目标&#xff1a;通过理论学习和代码实践&#xff0c;全面掌握Apache Shiro的核心功能、架构设计和最佳实践&#xff0c;能够在实际项目中灵活应用Shiro实现安全认证和授权。 &#x1f4d6; 学习路径导航 章节结构 第一章&#xff1…

作者头像 李华
网站建设 2026/7/30 16:02:13

每个人都能学会的大模型教程!(附文档资料)

大模型的入门难度会比机器学习和深度学习模型结构更加复杂&#xff0c;入门门槛更高&#xff0c;但是如果能找到一个合适的教程&#xff0c;会让你少走弯路如果你以后想要从事算法工程师相关岗位或者科研上准备做大模型相关的内容&#xff0c;这个教程真的适合你&#xff0c;直…

作者头像 李华
网站建设 2026/7/30 3:35:58

17、OS X 多任务处理全攻略

OS X 多任务处理全攻略 1. 多任务处理概述 OS X 具备强大的多任务处理能力,它能快速地在运行的应用程序和系统进程之间分配处理器时间,让用户感觉所有任务都在同时运行。当新应用启动、进程开启,或者其他进程闲置甚至完全关闭时,系统会实时监控这些任务,并动态分配内存和…

作者头像 李华
网站建设 2026/7/29 18:15:39

会议总结成难题?基于亚马逊云科技的AI会议神器来帮您!

AI不仅改变了构建内容&#xff0c;而且还在变革构建方式。当下开发者正在见证一个关键转折&#xff1a;AI正在自动化重复性任务&#xff0c;从而使开发者能够更加专注于创新和创造。日常生活中的一个鲜明例子就是会议。会议对于协作至关重要&#xff0c;但它们往往会产生冗长的…

作者头像 李华
网站建设 2026/7/30 5:32:25

21、Unix 实用指南:从文档查询到系统定制

Unix 实用指南:从文档查询到系统定制 1. 命令手册问题排查 当使用 man 命令查询命令手册却提示无手册条目时,可从以下方面排查: - 命令归属 :部分命令并非独立的 Unix 程序,而是 shell 的一部分。在 OS X 系统中,可在 bash 手册页或 builtin 手册页查找这些命…

作者头像 李华