Java est un langage compilé, pas interprété. Donc dans le principe, ça n'a pas vraiment de sens du générer du code Java exécutable à la volée.
En pratique, c'est faisable avec la classe com.sun.tools.javac.Main livrée en standard avec le JSDK. Mais c'est lourd, très lourd.
De deux choses l'une :
- soit ce qui t'intéresse, c'est juste évaluer des expressions arithmétiques, et il vaut mieux utiliser une bibliothèque de manipulation formelle d'expressions mathématiques
- soit tu veux vraiment pouvoir exécuter du code saisi à la volée qui interagit avec ton propre code (pour utiliser voire modifier tes variables Java), et là, tu peux utiliser la classe com.sun.tools.javac.Main pour compiler du code Java.
Si tu peux utiliser le JDK6, tu peux aussi utiliser les services du package javax.script, qui permet d'interpréter et exécuter du code JavaScript qui interagit avec ton code Java (ce qui correspond plus ou moins, en termes de code, à ta demande initiale).