计算后缀表达式的值(栈应用二)
2014-01-09 10:38
162 查看
static double evalPostFix() { Stack<Double> s = new Stack<Double>(); String token; Double a, b, result = 0.0; boolean isNumber; Scanner sc = new Scanner(System.in); token = sc.next(); while (token.charAt(0) != '=') { try { isNumber = true; result = Double.parseDouble(token); } catch (Exception e) { isNumber = false; } if (isNumber) s.push(result); else { switch (token.charAt(0)) { case '+': a = s.pop(); b = s.pop(); s.push(a + b); break; case '-': a = s.pop(); b = s.pop(); s.push(a - b); break; case '*': a = s.pop(); b = s.pop(); s.push(a * b); break; case '/': a = s.pop(); b = s.pop(); s.push(a / b); break; case '^': a = s.pop(); b = s.pop(); s.push(Math.exp(a * Math.log(b))); break; } } token = sc.next(); } return s.peek(); }
相关文章推荐
- 栈应用(中缀表达式转后缀表达式并计算后缀表达式的值)
- 栈应用(中缀表达式转后缀表达式并计算后缀表达式的值)
- 栈的应用——后缀表达式的计算
- 栈的应用之后缀表达式的计算(同时验证是否为合法的后缀表达式)
- 栈的应用实例——计算后缀表达式
- 栈的应用--算术表达式的求值(中缀转后缀然后计算后缀表达式的值)
- 云计算Docker畅谈应用开发 --来自新浪网
- Java基础应用之条件语句(用Switch语句根据消费金额计算折扣)
- 云计算在教育资源均衡化中应用的探讨
- Java基础应用之循环控制(用while循环计算1+1/2!+1/3!…1/20!)
- Catalan数计算及应用
- 云计算将逐渐成为支撑SaaS应用的基础
- 分布式和集群区别?什么是云计算平台?分布式的应用场景?
- 栈的应用--表达式计算&中缀转后缀
- 《云计算》学习笔记2——Google的云计算原理与应用(GFS和MapReduce)
- QT 简单应用计算俩个数
- 栈的应用4--中缀表达式转换为后缀表达式
- hdu-1154 Cutting a Polygon(计算几何综合应用,多模板)
- 大公司已经开始开始探索量子计算的应用模式,量子计算离我们还有多远?
- Hadoop应用-------Hadoop计算能力调度器(Capacity Scheduler)应用和配置{hadoop mradmin -refreshQueues动态更新队列和容量}其他调度器比较