Le Fri, 20 Apr 2012 13:01:44 +0200,
NotMe <
not...@hotmail.fr> écrivait :
La méthode est facile. Il faut introduire un délimiteur et avoir un
dictionnaire des instructions autorisées et des fonctions
disponibles (avec leurs priorités relatives).
Exemple :
'(2+F(A+b)*c)**2'
'2+F(A+b)*c' 2 **
2 'F(A+b)*c' + 2 **
2 'F(A+b)' c * + 2 **
2 'A+b' F c * + 2 **
2 A b + F c * + 2 **
Si tu veux un code te donnant à peu près ce que tu veux, tu peux en
télécharger un ici :
http://www.rpl2.fr et regarder le fichier
analyse_notation_algebrique.c.
La fonction prend une chaîne de caractère en notation algébrique et
la transforme en notation polonaise inversée (sous forme de chaîne
de caractères toujours) avant de l'analyser pour l'exécuter.
Ne reste plus qu'à convertir le code en Java ;-)
JKB
--
Si votre demande me parvient sur carte perforée, je titiouaillerai très
volontiers une réponse...
=>
http://grincheux.de-charybde-en-scylla.fr