Saltar al contenido

ejemplo de código de evaluación de expresión en notación polaca inversa

Si encuentras algún detalle que te causa duda puedes dejarlo en la sección de comentarios y te responderemos lo mas rápido que podamos.

Ejemplo 1: evaluar la notación polaca inversa gfg

public class Test 
 
	public static void main(String[] args) throws IOException 
		String[] tokens = new String[]  "2", "1", "+", "3", "*" ;
		System.out.println(evalRPN(tokens));
	
 
	public static int evalRPN(String[] tokens) 
		int returnValue = 0;
		String operators = "+-*/";
 
		Stack<String> stack = new Stack<String>();
 
		for (String t : tokens) 
			if (!operators.contains(t))  //push to stack if it is a number
				stack.push(t);
			 else //pop numbers from stack if it is an operator
				int a = Integer.valueOf(stack.pop());
				int b = Integer.valueOf(stack.pop());
				switch (t) 
				case "+":
					stack.push(String.valueOf(a + b));
					break;
				case "-":
					stack.push(String.valueOf(b - a));
					break;
				case "*":
					stack.push(String.valueOf(a * b));
					break;
				case "/":
					stack.push(String.valueOf(b / a));
					break;
				
			
		
 
		returnValue = Integer.valueOf(stack.pop());
 
		return returnValue;
	

Ejemplo 2: evaluar la notación polaca inversa gfg

["2", "1", "+", "3", "*"] -> ((2 + 1) * 3) -> 9
  ["4", "13", "5", "/", "+"] -> (4 + (13 / 5)) -> 6

Aquí tienes las comentarios y calificaciones

Más adelante puedes encontrar las aclaraciones de otros administradores, tú igualmente eres capaz dejar el tuyo si dominas el tema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *