问题描述
上过一次Java课让做简单的四则运算,怎么写都不对啊
解决方案
解决方案二:
先看书吧。把书上的例子看懂了,或者是照着书上的例子来编写。
解决方案三:
可以用堆栈来写,创建两个堆栈,一个用来存放操作数,一个用来存放运算符,遍历四则表达式,遇到操作数就将其压栈,遇到"("则将其压栈,遇到操作符就作以下判断:1)运算符栈如果为为空则将当前运算符压栈;2)运算符栈的栈顶元素如果是"(",则将当前运算符压栈;3)若当前运算符比栈顶运算符优先级高则将运算符压栈;4)若运算符比栈顶运算符优先级低,则栈顶运算符出栈计算,将结果压进操作数栈中,并重新对当前运算符作判断知道运算符压栈;如果遇到")"则运算符栈中逐个出栈计算直到遇到"(","("出栈并丢弃,遍历完表达式后,判断运算符栈是否还有元素,如果还有,则逐个出栈计算
时间: 2024-11-05 18:30:32