Advertisement

表达式计算 7-4

阅读量:

编写一个程序,其功能是从输入的一行中读取一个表达式,并输出计算结果。该表达式中仅允许包含非负整数以及下列运算符:(仅限符号和非负数)

输入格式:

一种表达方式。

输出格式:

所得结果。

输入样例解析

(2+32)/2-6

输出样例:

11

思路中缀表达式转后缀

设计两个独立的栈结构,一个用于存储数值元素,另一个用于存放运算符号,按照从左至右的顺序遍历中缀表达式,并将对应的数值与运算符依次存入各自的栈中。当当前运算符的优先级高于栈顶运算符时,即刻执行计算操作。例如,在数值栈中依次为x1、x2、x3,而运算符栈中依次为加号与减号时,则需先对x2与x3进行减法运算,并将结果存回x2的位置,随后再对x1与更新后的x2进行加法处理。需要注意的是,在后缀表达式的计算过程中,运算符所作用的对象是数字栈中倒数第二个元素与最后一个元素。对于包含括号的情形,将左括号视为起始标记,每当遇到左括号时进行一次记录;而遇到右括号时,则将左右括号之间的所有运算符逐一弹出并执行计算。

AC代码:

复制代码
    import java.util.*;
    public class Main
    {
    public static boolean judge(char c1,char c2)
    {

全部评论 (0)

还没有任何评论哟~