首页 > 其他 > 详细

【华为OJ】逆波兰

时间:2014-08-01 20:06:03      阅读:443      评论:0      收藏:0      [点我收藏+]
描述: 

逆波兰记法中,操作符置于操作数的后面。例如表达“三加四”时,写作“3 4 +”,而不是“3 + 4”。如果有多个操作符,操作符置于第二个操作数的后面,所以常规中缀记法的“3 - 4 + 5”在逆波

兰记法中写作3 4 - 5 +”:先3减去4,再加上5。使用逆波兰记法的一个好处是不需要使用括号。 


请编写Java函数计算逆波兰表达式的结果。 


输入一个逆波兰表达式, 

1、操作数类型为正的double数,符合java的double常量规范,不同的操作数以空格或者运算符分开; 

2、支持四则运算,即运算符包括+,-,*,/。 

输出为计算结果 

如输入为 “1 2 + 3 *”,则输出为“9.0” 

                            

考试要点:

1.能正确处理简单的表达式(50分),如计算 1.0 2 + 的结果为 3.0

2.能正确处理不同的操作符(30分),如计算 1 2 + 3 * 的结果为 9.0
3.能正确识别输入的逆波兰表达式中的语法错误(10分),如输入为 1+ 则抛出

RPNSyntaxErrorException 异常 

4.能正确识别输入的逆波兰表达式中的除零错误(10分),如输入为 1 2 2 -/ 则

抛出 DevideByZeroException 异常

                     

 
知识点:                 
题目来源:内部整理 
练习阶段:高级 
运行时间限制:10Sec
内存限制:128MByte
输入:

    

输入算式,数字字符之间以空格隔开

 
输出:                 

输出计算结果

 
样例输入:
1 2 + 3 *
样例输出:
9.0
答案提示:

                     



本文出自 “乱七八糟存放点” 博客,请务必保留此出处http://541777359.blog.51cto.com/5408989/1533935

【华为OJ】逆波兰,布布扣,bubuko.com

【华为OJ】逆波兰

原文:http://541777359.blog.51cto.com/5408989/1533935

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!