java递归的思想_java四则运算(递归的思想)

package demo;

importjava.util.Stack;

/**

* 利用栈,进行四则运算的类

* 用两个栈来实现算符优先,一个栈用来保存需要计算的数据numStack,一个用来保存计算优先符priStack

*

* 基本算法实现思路为:用当前取得的运算符与priStack栈顶运算符比较优先级:若高于,则因为会先运算,放入栈顶;

* 若等于,因为出现在后面,所以会后计算,所以栈顶元素出栈,取出操作数运算;

* 若小于,则同理,取出栈顶元素运算,将结果入操作数栈。各个优先级'(' > '*' = '/' > '+' = '-' > ')'

*

*/

public class Operation {

private StackpriStack = new Stack();// 操作符栈

private StacknumStack = new Stack();;// 操作数栈

/**

* 传入需要解析的字符串,返回计算结果(此处因为时间问题,省略合法性验证)

* @paramstr需要进行计算的表达式

* @return 计算结果

*/

publicintcaculate(String str) {

// 1.判断string当中有没有非法字符

String temp;// 用来临时存放读取的字符

// 2.循环开始解析字符串,当字符串解析完,且符号栈为空时,则计算完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值