Java实现四则运算,使用堆栈,检查语法
2016-08-15 17:05
369 查看
突然发闲想试一试自己实现算术的四则运算,支持加减乘除和括号、正负号;支持语法检查;思路很常规,利用两个堆栈,一个压操作符,一个压操作数,念头冒出来之后,立马动手;然后本以为很容易的一个实现,却存在各种各样的坑,正常逻辑花了1个小时,填坑缺填了5个小时,不多说,上代码;
能够检测的语法错误:缺少操作数、缺少操作符、缺失括号、不合法的数值;
支持运算程度:全部使用浮点数float;支持任意位置的空格、制表符、回车;多重括号;
视为语法错误的约束:空括号、多重正负号(非加减号)、除数为0;
编码能力有限,望各路大神海涵;
自定义异常
能够检测的语法错误:缺少操作数、缺少操作符、缺失括号、不合法的数值;
支持运算程度:全部使用浮点数float;支持任意位置的空格、制表符、回车;多重括号;
视为语法错误的约束:空括号、多重正负号(非加减号)、除数为0;
编码能力有限,望各路大神海涵;
public class FunctionStackException extends RuntimeException { /** * */ private static final long serialVersionUID = 1L; public FunctionStackException(String message) { super(message); } }
自定义异常
相关文章推荐
- java实现四则运算,难点主要在理解加减乘除优先级以及使用递归
- Java代码实现四则运算
- 第7周任务3(使用类模板,实现复数的四则运算)
- java的四则混合运算运算符的使用注意异同day02
- 如何在Java中使用双重检查锁实现单例
- 3.第三单元任务二实训:使用作业提交系统提交Java作业时 ,需要输入Java源代码文件名和自己的邮箱,提交前对Java文件名以及邮箱进行有效检查。编写程序实现对输入的Java源文件名以及邮箱有效性的
- 栈如何运用在四则运算中(JAVA实现)
- java 四则运算 栈的实现
- java实现任意四则运算表达式求值算法
- LeetCode OJ平台上Binary Tree Inorder Traversal题目使用java堆栈方式实现
- JAVA实现简单四则混合运算
- 带括号的四则混合运算的算符优先算法java实现
- java小练习(实现分数的四则运算)
- 正整数加减乘除四则混合运算求值方法 java实现
- 如何在Java中使用双重检查锁实现单例
- 使用java基本语法实现的小程序(从1000年1月1日到9999年12月31日所有的对称日)
- java 四则运算 栈的实现
- Java实现四则运算表达式计算
- java中实现四则运算代码
- Java使用Deque实现堆栈的方法