package cn.itcast.action; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Expression { private Stack stack; //输入的表达式 private String input; //输出道arraylist private ArrayList arrayList; //记录数字的数组 private String num; public Expression(){ stack=new Stack(); arrayList=new ArrayList(); num=""; } public void setInput(String input){ this.input=input; } public String getInput(){ return input; } /** * 将中缀表达式转换为后缀表达式的处理方法 * @param input 中缀表达式 2+3 * @return 后缀表达式 23+ */ public ArrayList doTrans(String input)throws Exception{ if(!validate(input)) { throw new Exception(""); } this.setInput(input); for(int i=0;i=this输出top.推入this * @param opthis 当前运算符 * @param prec 运算符等级 1 为+ -, 2 为 *,/ */ public void getOperator(String opthis,int prec) { while(!stack.empty()) { String top=stack.pop(); if(top.equals("(")) { stack.push(top); break; } else { int precX; if(top.equals("+")||top.equals("-")) { precX=1; } else { precX=2; } if(precX
java 中缀转后缀_java实现 中缀转后缀
最新推荐文章于 2023-09-26 20:14:50 发布