para evaluar una expresion en postfijo
Código
//convertir array expresion char[]expresiion = expre.toCharArray(); //Pila de salida y pila de entrada char simboloEntrada,op1,op2,valor=0; MyFirstStack pilita = new MyFirstStack(expresiion.length); for(int a=0;a<expresiion.length;a++){ simboloEntrada = expre.charAt(a); if(simboloEntrada != '+' && simboloEntrada != '-' && simboloEntrada != '*' && simboloEntrada != '/'){ pilita.push(simboloEntrada); } else { op1= pilita.pop(); op2= pilita.pop(); valor=(char)evaluate(simboloEntrada,op1,op2); pilita.push(valor); } } } static int evaluate (char cad, char a, char b ){ int op1=a-48; int op2=b-48; if(cad== '-') return op1-op2; if(cad== '+') return op1+op2; if(cad== '/') return op1/op2; if(cad== '*') return op1*op2; return 0; } }
Muchas gracias.