Java cadena a ecuación matemática [duplicado]

Esta pregunta ya tiene una respuesta aquí:

¿Cómo evaluar una expresión matemática dada en forma de cadena? [cerrado 24 respuestas

Necesito implementar la funciónpublic int eval(String infix) {...} y cuando uso esto así:

eval("3+2*(4+5)") 

Debo recibir 21.

a expresión aritmética puede contener '+', '*' y paréntesis.

Entonces, ¿cómo puedo convertir esto a la ecuación matemática? @ No puedo usar librerías no estándar.

UPDATE: Solución encontrada.

Es de 2 vías: notación polaca y usando ScriptEngine.

Respuestas a la pregunta(3)

Su respuesta a la pregunta