打字猴:1.700474147e+09
1700474147 Expression left=null;
1700474148
1700474149 Expression right=null;
1700474150
1700474151 for(int i=0;i<charArray.length;i++){
1700474152
1700474153 switch(charArray[i]){
1700474154
1700474155 case’+’://加法
1700474156
1700474157 //加法结果放到栈中
1700474158
1700474159 left=stack.pop();
1700474160
1700474161 right=new VarExpression(String.valueOf(charArray[++i]));
1700474162
1700474163 stack.push(new AddExpression(left,right));
1700474164
1700474165 break;
1700474166
1700474167 case’-‘:
1700474168
1700474169 left=stack.pop();
1700474170
1700474171 right=new VarExpression(String.valueOf(charArray[++i]));
1700474172
1700474173 stack.push(new SubExpression(left,right));
1700474174
1700474175 break;
1700474176
1700474177 default://公式中的变量
1700474178
1700474179 stack.push(new VarExpression(String.valueOf(charArray[i])));
1700474180
1700474181 }
1700474182
1700474183 }
1700474184
1700474185 //把运算结果抛出来
1700474186
1700474187 this.expression=stack.pop();
1700474188
1700474189 }
1700474190
1700474191 //开始运算
1700474192
1700474193 public int run(HashMap<String,Integer>var){
1700474194
1700474195 return this.expression.interpreter(var);
1700474196
[ 上一页 ]  [ :1.700474147e+09 ]  [ 下一页 ]