码迷,mamicode.com
首页 > 编程语言 > 详细

简单计算器 java实现hdu1237

时间:2015-08-16 00:42:20      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:hdu1237   简单计算器运算   队列实现简单运算   

简单计算器

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 15190    Accepted Submission(s): 5184


Problem Description
读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值。
 

Input
测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。没有非法表达式。当一行中只有0时输入结束,相应的结果不要输出。
 

Output
对每个测试用例输出1行,即该表达式的值,精确到小数点后2位。
 

Sample Input
1 + 2 4 + 2 * 5 - 7 / 11 0
 

解题思路:采用LinkedList来实现队列的入队出队,从而来实现简单的运算,使用了两个模拟队列s1,s2,s1用来装数值,s2用来装运算符,在入队之前,我们把乘号和除号的前后两个数值进行运算并入队,然后其他的不处理入队。最后从队首取出数值和运算符进行对应的运算。(PS:本人最开始受上课影响,用栈做,思路也是这个思路,不过就是WA,结果发现减法,你需要是前一个减后一个,而且实行加法运算时,如果是用栈的话,就会取加法前面的数值,而不会取前面的符号直接进行运算了,一定WA,所以后面改用队列做,坑的一脸血,不过题目很水,很水,很水,重要的事说三遍)

代码:


Sample Output
3.00 13.36

版权声明:本文为博主原创文章,未经博主允许不得转载。

简单计算器 java实现hdu1237

标签:hdu1237   简单计算器运算   队列实现简单运算   

原文地址:http://blog.csdn.net/xionghui2013/article/details/47689211

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!