Ce code permet de calculer des expressions complexes. Exemple, avec -3+(2+(2*2)/4)^2-1 on obtient 5.0. L'utilisation est simple:
JCalculateur calculateur = new JCalculateur();
calculateur.setEquation(taEquation .getText()); // l'équation
try {
calculateur.calculer(); //calcule
tResult.setText(calculateur.toString()); //la réponse
} catch (Exception e) { //Si erreur
tResult.setText(e.getMessage()); //affiche le message d'erreur à la place de la réponse
}
Supporte de nombreuses fonctions (sin, cos, tan, log, ln, pi, ...) et les opérateurs +, -, *, /, ^, les nombres négatifs et les nombres à virgule. Pour les fonctions, les arguments doivent être entre des crochets et non des parentèses. Ex log[10]
Le but de cette source est que je planifie faire un petit langage de programmation et cet évaluateur d'expression constitue une grosse étape. Je vais essayer de trouver une solution au crochets et penser à une implémentation de and &, or |, xor %, modulo \ et d'un log plus efficace logx[argument, base].