Solo veo un par de razones para tener la formula a evaluar anotada en un String (ex: si cambia, alamacenada en una db, etc ..).
En ese caso, lo que necesitas es un parser de la
notación infijo, que sea capaz de detectar los tokens, operador, operadores, etc. además apaz de evaluar la expresión.
De hecho podrías buscar en la red informacion sobre
Java parser Infix notation
Shunting-yard algorithm
Esté último algoritmo es capaz de evaluar un expresión escrita en notación infijo.
Revisa
http://www.chris-j.co.uk/parsing.php, ya que es un applet que es apaz de evaluar una expresión en notación infijo a través del algoritmo Shunting-yard algorithm (no encontre el fuente del applet xD)
Saludos