java实现加减乘除混合运算,

http://www.oschina.net/code/snippet_189899_36597

这个算法很好,

加法 加号前面的加上加号后面的

减法 减号前面的减去减号后面的

乘法 乘号前面的乘上乘号后面的

除法 除法前面的除以除号后面的

递归调用

public static float opt(String s) throws Exception{

if(s == null || "".equals(s.trim())) {

return 0f;

}

int a1=s.indexOf("+");

int a2=s.indexOf("-");

int a3=s.indexOf("*");

int a4=s.indexOf("/");

int a5=s.indexOf("(");

if(a1==-1&&a2==-1&&a3==-1&&a4==-1){

if(s.trim()==null||"".equals(s.trim())){

throw new Exception("operate error");

}

return Float.parseFloat(s.trim());

}

if(a5!=-1){

int a6=s.indexOf(")");

if(a6==-1){

throw new Exception("括号不匹配");

}else{

float f=opt(s.substring(a5+1,a6).trim());

s=s.replace(s.substring(a5,a6+1), String.valueOf(f));

return opt(s);

}

}

if(a1!=-1){

return opt(s.substring(0,a1))+opt(s.substring(a1+1,s.length()));

}

if(a2!=-1){

return opt(s.substring(0,a2))-opt(s.substring(a2+1,s.length()));

}

if(a3!=-1){

return opt(s.substring(0,a3))*opt(s.substring(a3+1,s.length()));

}

if(a4!=-1){

return opt(s.substring(0,a4))/opt(s.substring(a4+1,s.length()));

}

return Integer.parseInt(s.trim());

}

}

java实现简单四则运算_JAVA实现简单四则混合运算相关推荐

  1. java简单运算程序_JAVA实现简单四则混合运算

    JAVA实现简单四则混合运算,说明:该计算器支持实则混合运算,如 2*(3+1 )/ 4-3 *9+ 8/ 3*4- 5,则输出:-19.333332 需要说明的事括号必须是英文的.源码如下仅供学习: ...

  2. java 四则混合运算_Java实现四则混合运算代码示例

    使用栈来实现,可以处理运算优先级. 使用自然四则运算表达式即可,如:4+(3*(3-1)+2)/2.无需把表达式先转换为逆波兰等形式. package com.joshua.cal; import j ...

  3. java四则混合运算_Java实现四则混合运算代码示例

    使用栈来实现,可以处理运算优先级. 使用自然四则运算表达式即可,如:4+(3*(3-1)+2)/2.无需把表达式先转换为逆波兰等形式. package com.joshua.cal; import j ...

  4. java实现四则混合运算

    最近在看数据结构.想要实现四则混合运算.用栈来实现. 去网上看了好些代码(想偷懒来着)结果代码都不全.思路不清晰. 看的难受,最后觉得还是自己写吧.学习嘛,偷懒不得. 栈的本质就是个线性表.结构就是个 ...

  5. c# 四则混合运算算法

    对于四则混合运算其实在大三的时候就接触过,但是由于当时自己太菜,只顾着玩游戏跳课了.所以这个算法一直没有用代码实现过.当时学霸还给我简单的讲了一下方法,只因身为学渣的我,只想对学霸说一句,道理我都懂, ...

  6. 使用堆栈实现对算数四则混合运算表达式的求值(C语言)

    使用堆栈实现对算数四则混合运算表达式的求值(C语言) 很方便的目录 使用堆栈实现对算数四则混合运算表达式的求值(C语言) 一.问题分析 基本思路 算符优先级构建 二.算法描述 算法描述 堆栈运算过程的 ...

  7. 数据结构 用栈实现四则混合运算

    实验目的: 利用"栈"完成一定程度的四则混合运算,四则运算表达式应以字符串形式读入.该段程序要实现的基本功能是实现"十以内的加减乘除运算",在实现四则运算的简单 ...

  8. 【数据结构】支持四则混合运算的计算器(转)

    1.给出两个数,用户再指定操作符,要求计算结果,这实现起来很容易:   2.多个数,但只涉及同一优先级的操作符,做起来也很容易:   3.多个数,不同优先级的操作符,怎么办呢? 想想就头痛,不过还好前 ...

  9. 四则混合运算表达式分析程序的原理及其实现

    意义: 四则混合运算表达式可以看作一定语言中的表达式分析及求值,虽然它很小,却是一个语法分析的很好的例子! 一.目标:可以对输入的四则混合运算表达式进行分析,并求出其结果.程序须支持:整数及小数运算. ...

最新文章

  1. 矩阵奇异值分解简介及C++/OpenCV/Eigen的三种实现
  2. 花5分钟过一遍jar包和war包的区别,以后都不会再迷茫
  3. “一切即代码”究竟意味着什么?
  4. hashMap 和linkedHashMap
  5. git忽略文件或者文件夹
  6. Python Regular Expression
  7. 解读随着教育改革的深入steam教育
  8. Mac OSX配置XAMP虚拟主机
  9. tao.Opengl
  10. 平生事,此时凝睇,谁会凭栏意!(4)
  11. ThreadLocal 是什么?有哪些使用场景?
  12. 用vb.net制作贪吃蛇游戏
  13. dayjs,当年月周日
  14. mac Os升级系统
  15. CFD:安装软件(step2)
  16. 什么可以有助睡眠质量?五年睡不好的我现在用这几个东西
  17. win10开机登录系统,需要验证密码,无法连接网络解决办法
  18. 解决FileZilla 报错“无法和 SFTP 服务器建立 FTP 连接,请选择合适的协议”
  19. iOS 修改image尺寸
  20. 解析新STEAM教育对国内中高考的影响

热门文章

  1. python矩阵乘法
  2. 天权信安catf1ag网络安全联合公开赛-AGCTFS战队 wp
  3. Maven自定义打包插件Assembly Plugin简单使用
  4. 获取摩拜单车在地区的车辆python多线程实现
  5. OLEDMPU6050组合模块
  6. windows 删除docker
  7. Python一些小例子的代码
  8. 有一块一块的棕色斑块
  9. 简单的手机记事本app怎么查看提醒列表?
  10. 基于堆栈自编码器的图像识别及特征权重可视化