Calculer une équation mathématique complexe dans un string et obtenir son résultat

Description

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].

Conclusion :


Le résonnement pour arriver à calculer des expressions est complexe, c'est pourquoi je l'ai diviser en fonctions, pour l'afficher plus clairement.

Donnez moi vos commentaires

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.