hola a todos se que es algo facil pero no consigo sacarlo espero y me puedan ayudar mi codigo
para evaluar una expresion en postfijo
Muchas gracias.
para evaluar una expresion en postfijo
Código (java) [Seleccionar]
public static void main(String arg[]){
String expres = "362*4/+"; //Resultado debe ser 6
System.out.println("Evaluacion de una expresion en posfijo");
System.out.println("\n Exp posfija:"+expres+"\n");
//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);
}
}
System.out.print("El valor:"+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.