输入运算公式 得到结果 java
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/07/07 10:31:24
输入运算公式 得到结果 java
输入一个字符串,包含数字和加(+)、减(-)、乘(*)、除(/)等四则运算符号,要求输出其计算结果.
如12*2+3-4,输出23.
我是jdk1.4版本的,请尽量把代码注释一下,好么!
这个公式不是固定的,是从控制台获取的,可能更复杂,比如12+3*4-12
输入一个字符串,包含数字和加(+)、减(-)、乘(*)、除(/)等四则运算符号,要求输出其计算结果.
如12*2+3-4,输出23.
我是jdk1.4版本的,请尽量把代码注释一下,好么!
这个公式不是固定的,是从控制台获取的,可能更复杂,比如12+3*4-12
![输入运算公式 得到结果 java](/uploads/image/z/3595923-27-3.jpg?t=%E8%BE%93%E5%85%A5%E8%BF%90%E7%AE%97%E5%85%AC%E5%BC%8F+%E5%BE%97%E5%88%B0%E7%BB%93%E6%9E%9C+java)
通过栈实现,先用栈将中缀表达式转化为后缀表达式,然后再用栈计算后缀表达式的值的
package com.saturday;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Stack;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MyParse {
static Map optrOrder;
static {
optrOrder=new HashMap();
optrOrder.put("(",0);
optrOrder.put("*",1);
optrOrder.put("/",1);
optrOrder.put("%",1);
optrOrder.put("+",2);
optrOrder.put("-",2);
optrOrder.put("^",3);
optrOrder.put("#",3);
}
public static void main(String[] args){
List tokens;
try{
//词法分析
tokens=lex("+2* (-2+3*4)+-5");
//中缀转后缀
tokens=toRpn(tokens);
//计算结果
System.out.println(calcRpn(tokens));
}catch(Exception ex){
ex.printStackTrace();
}
}
/**
* 将输入串转换为操作符串
* @param sExpres
* @return
*/
public static List lex(String sExpres){
List tokens=new ArrayList();
//将表达式分割成符号序列
String sRegExp="(((?
package com.saturday;
import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Stack;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MyParse {
static Map optrOrder;
static {
optrOrder=new HashMap();
optrOrder.put("(",0);
optrOrder.put("*",1);
optrOrder.put("/",1);
optrOrder.put("%",1);
optrOrder.put("+",2);
optrOrder.put("-",2);
optrOrder.put("^",3);
optrOrder.put("#",3);
}
public static void main(String[] args){
List tokens;
try{
//词法分析
tokens=lex("+2* (-2+3*4)+-5");
//中缀转后缀
tokens=toRpn(tokens);
//计算结果
System.out.println(calcRpn(tokens));
}catch(Exception ex){
ex.printStackTrace();
}
}
/**
* 将输入串转换为操作符串
* @param sExpres
* @return
*/
public static List lex(String sExpres){
List tokens=new ArrayList();
//将表达式分割成符号序列
String sRegExp="(((?
输入运算公式 得到结果 java
输入两个数,然后输入一个运算符,计算出结果输出,这个JAVA程序怎么写
java余数运算所得结果符号
Excel通过公式处理得到运算结果,怎么脱离公式单独处理运算结果.如 c3=a3+b3,算出c3后我想单独处理c3里面
电子表格输入随机数公式不显示结果
JAVA从键盘输入2个数字,输出两个数字的“+、-、*、/、%”的运算表达式及运算结果
编写一个程序,输入一个正整数,并做以下运算:如果为偶数,除以2,如果为奇数,乘3加1.得到的结果再按上
java 编程 输入正整数n,计算n!结果用长整型数表示
某计算装置有一数据入口A和一个运算结果的出口B,且满足①从入口A 输入1,从出口B得到2,②从入口A输入自
英语翻译在google上输入“故事”,可以得到824000000条结果,但输入“结局”,却只能得到18600000条结果
java运算符号问题?
编写一个程序,输入一个正整数,并做以下运算:如果为偶数,除以2,如果为奇数,乘以3加1,得到的结果再按上述要求运算,直到