java实现简单四则运算_JAVA实现简单四则混合运算
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实现简单四则混合运算相关推荐
- java简单运算程序_JAVA实现简单四则混合运算
JAVA实现简单四则混合运算,说明:该计算器支持实则混合运算,如 2*(3+1 )/ 4-3 *9+ 8/ 3*4- 5,则输出:-19.333332 需要说明的事括号必须是英文的.源码如下仅供学习: ...
- java 四则混合运算_Java实现四则混合运算代码示例
使用栈来实现,可以处理运算优先级. 使用自然四则运算表达式即可,如:4+(3*(3-1)+2)/2.无需把表达式先转换为逆波兰等形式. package com.joshua.cal; import j ...
- java四则混合运算_Java实现四则混合运算代码示例
使用栈来实现,可以处理运算优先级. 使用自然四则运算表达式即可,如:4+(3*(3-1)+2)/2.无需把表达式先转换为逆波兰等形式. package com.joshua.cal; import j ...
- java实现四则混合运算
最近在看数据结构.想要实现四则混合运算.用栈来实现. 去网上看了好些代码(想偷懒来着)结果代码都不全.思路不清晰. 看的难受,最后觉得还是自己写吧.学习嘛,偷懒不得. 栈的本质就是个线性表.结构就是个 ...
- c# 四则混合运算算法
对于四则混合运算其实在大三的时候就接触过,但是由于当时自己太菜,只顾着玩游戏跳课了.所以这个算法一直没有用代码实现过.当时学霸还给我简单的讲了一下方法,只因身为学渣的我,只想对学霸说一句,道理我都懂, ...
- 使用堆栈实现对算数四则混合运算表达式的求值(C语言)
使用堆栈实现对算数四则混合运算表达式的求值(C语言) 很方便的目录 使用堆栈实现对算数四则混合运算表达式的求值(C语言) 一.问题分析 基本思路 算符优先级构建 二.算法描述 算法描述 堆栈运算过程的 ...
- 数据结构 用栈实现四则混合运算
实验目的: 利用"栈"完成一定程度的四则混合运算,四则运算表达式应以字符串形式读入.该段程序要实现的基本功能是实现"十以内的加减乘除运算",在实现四则运算的简单 ...
- 【数据结构】支持四则混合运算的计算器(转)
1.给出两个数,用户再指定操作符,要求计算结果,这实现起来很容易: 2.多个数,但只涉及同一优先级的操作符,做起来也很容易: 3.多个数,不同优先级的操作符,怎么办呢? 想想就头痛,不过还好前 ...
- 四则混合运算表达式分析程序的原理及其实现
意义: 四则混合运算表达式可以看作一定语言中的表达式分析及求值,虽然它很小,却是一个语法分析的很好的例子! 一.目标:可以对输入的四则混合运算表达式进行分析,并求出其结果.程序须支持:整数及小数运算. ...
最新文章
- 矩阵奇异值分解简介及C++/OpenCV/Eigen的三种实现
- 花5分钟过一遍jar包和war包的区别,以后都不会再迷茫
- “一切即代码”究竟意味着什么?
- hashMap 和linkedHashMap
- git忽略文件或者文件夹
- Python Regular Expression
- 解读随着教育改革的深入steam教育
- Mac OSX配置XAMP虚拟主机
- tao.Opengl
- 平生事,此时凝睇,谁会凭栏意!(4)
- ThreadLocal 是什么?有哪些使用场景?
- 用vb.net制作贪吃蛇游戏
- dayjs,当年月周日
- mac Os升级系统
- CFD:安装软件(step2)
- 什么可以有助睡眠质量?五年睡不好的我现在用这几个东西
- win10开机登录系统,需要验证密码,无法连接网络解决办法
- 解决FileZilla 报错“无法和 SFTP 服务器建立 FTP 连接,请选择合适的协议”
- iOS 修改image尺寸
- 解析新STEAM教育对国内中高考的影响