transfomer String en "bout de code" (parse ???) - Java - Programmation
Marsh Posté le 30-11-2007 à 15:46:23
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).
Marsh Posté le 10-11-2007 à 23:24:48
Bonjour, je souhaite réaliser une classe fonction dans laquelle je peux entrer une fonction via la ligne de commande, et ensuite l'évaluer en un point . Le code actuel :
es est une classe me permettant de mettre la chaine tapée dans la ligne de commande, par exemple 4*x+259.
ensuite, dans la méthode évaluer, je voudrais donc avoir return 4*x+259, ce qui serait cohérent puisque x est bien déclaré comme paramètre. Cependant, il me jette un number format exception .
Si vous avez des idéees, Merci