[resolu] chaine de caractère + formule mathématique

wiss20000
[resolu] chaine de caractère + formule mathématique

salut,
mon problème est le suivant :
:arrow: j'ai une table d'une base de donnée qui contient un champ "formule" :dans ce champ, il ya des formules matématique qui sont de type chaine de caractère.
comment faire pour tiliser ces formules pour faire du calcul :?: :?: :?:

fredericmazue

Ca ca peut être assez difficile.
Ca dépend de la "syntaxe" de ces formules.
Si tu as de la chance elles seront compréhensibles par un interpréteur écrit en Java et tu pourras lui faire avaler.
Je pense aux langages Jython ou Groovy que tu peux facilement embarquer dans une application Java. Avec aussi des pièges à déjouer. Par exemple en Jython 1 et 1.0 ce n'est pas obligatoirement pareil...

Sinon, ben va falloir que tu écrives le code qui interprète les formules toi même, c'est à dire les analyse, vérifie leur syntaxe et exécute l'équivalent avec Java. C'est un vrai exercice ça.... :wink:

fredericmazue

Et mais j'y pense; toi qui travaille avec JFreeChart, si ça se trouve libformula que tu trouveras sur le site de JFreeChart, ça fait ce que tu veux. Ca me paraît bien cadrer avec tes besoins.

fredericmazue

Et comme tout petit interpréteur Java embarquable tu as BeanShell

BeanShell c'est qui assure la completion de code sous Emacs dans le mode d'édition Java (jde). Ah Emacs.... c'est autre chose qu'Eclipse ça Emacs ;)

wiss20000

j'ai trouver une solution à mon problème j'utilise "JEP package"
j'ai importer les librairie du cite web http://www.singularsys.com/jep/
j'ais essayé un exemple mais il me semble que le compilateur ne connait pas les librairies ajoutées
import org.nfunk.jep;

fredericmazue

Met les dans ton CLASSPATH et/ou fait les pointer par Eclipse.
Comme tu as fait pour JFreeChart quoi...

wiss20000

Quote:
Comme tu as fait pour JFreeChart quoi...

oui c'est tout a fait pareil mais je ne sait pas ou est le problème :shock:
fredericmazue

Quote:
moi cet tout a fait pareil

Et en français tu me traduis ça comment ? :twisted:

Mais non tu n'as pas fait "tout pareil", sinon ça marcherait.

wiss20000

j'ais sélectionné mon projet, clic droit dessus et sélectionnes Properties. j'ai sélectionné Java Build Path et dans l'onglet Librairies j'ai cliqué sur Add JARs... : j'ai sélectionné ta librairie et ok.
Dans l'onglet Order and Export, j'ais bien sélectionné la librairie que je viens d'ajouter...
Et voilà

fredericmazue

et bien il manque une autre librairie.
Et voilà

C'est la *SEULE* raison qui puisse expliquer que le compilateur ne la voit pas, sauf si tu as fait une faute "d'orthographe" dans
import org.nfunk.jep;

wiss20000

fredericmazue wrote:
et bien il manque une autre librairie.

je ne pense pas car dans le répertoire lib de "jep-2.4.0-ext-1.1.0-gpl" je n'ai trouvé que deux fichier .jar et je les ais ajouté tout les deux. :?
fredericmazue

:lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol:

Devant ton insistance, je suis allé voir.
J'ai téléchargé l'archive et.......

Le répertoire lib. Il contient Java et Jnuint :!: :!: :!: Ce sont des LIBRARIES que tout le monde connait et qui servent à la compilation de JEP
CE N'EST PAS JEP :!: :!:

Les librairies de JEP sont dans le répertoire DIST.

Donc comme je te le disais, Eclipse ne pointe pas sur les *bonnes* librairies.
Je te l'ai dit dès le début. Mais encore une fois de plus à nouveau, tu contredis, tu dis non ce n'est pas ça.
Franchement il n'y a rien de plus désagréable.
Tu me refais encore une fois ce coup là et je ne t'aide plus. Définitivement.

wiss20000

fredericmazue wrote:
:lol: :lol: :lol: :lol: :lol: :lol: :lol: :lol:

Devant ton insistance, je suis allé voir.
J'ai téléchargé l'archive et.......

Le répertoire lib. Il contient Java et Jnuint :!: :!: :!: Ce sont des LIBRARIES que tout le monde connait et qui servent à la compilation de JEP
CE N'EST PAS JEP :!: :!:

Les librairies de JEP sont dans le répertoire DIST.

Donc comme je te le disais, Eclipse ne pointe pas sur les *bonnes* librairies.
Je te l'ai dit dès le début. Mais encore une fois de plus à nouveau, tu contredis, tu dis non ce n'est pas ça.
Franchement il n'y a rien de plus désagréable.
Tu me refais encore une fois ce coup là et je ne t'aide plus. Définitivement.


je suis infiniment désolé si ma façon de communication vous a vixé mais je ne voulais pas ça car mon français n'est pas au top
encore une fois je suis désolé
:oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops:
:oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops: :oops:
fredericmazue

Ce n'est pas une question de français.
Excuses acceptées :) Mais c'est la dernière fois en ce qui me concerne

wiss20000

fredericmazue wrote:
Ce n'est pas une question de français.
Excuses acceptées :) Mais c'est la dernière fois en ce qui me concerne

excusez moi encore une fois si j'ai manqué de courtoisie.
:arrow: en ce qui concerne mon problème ça marche
MERCI :P :P :P :P :P :P
wiss20000

on doit utiliser des formules qui sont au format String : donc il faut d'abord les parser (ou les analyser) pour leur donner une valeur sémantique : donc il faut un parseur :idea: :idea: :idea:
:arrow: il y a le parseur JEP qui m'a aidé:D :D :D :D :D
voici un lien utile

http://www.singularsys.com/jep