Je remercie d'avance ceux qui vont m'aider à résoudre mon problème. Voilà j'ai essayé de créer un petit script question de ne pas m'ennuyer un peu. Mais je suis tombé sur un gros problème. Je n'arrive pas à calculer une expression à partir d'une String tout en conservant l'ordre de priorité. Par exemple je demande à l'utilisateur d'entrer un calcul et quand je reçois par le biais de la classe java.util.Scanner
j'obtiens une String et maintenant calculer devient un problème. Par exemple je récupère "14+(3*5*(10 - 4*2)/15)" je suis conscient que le résultat c'est 16 mais comment faire pour l'obtenir ? Svp besoin d'aide j'ai beau reflechir aucune idée ne me vient en tête.
- Edité par Threcamy Scooper 16 avril 2021 à 4:31:31
Découvrir, apprendre, enseigner : des joies qui satisfassent
Pour calculer une expression en général tu as trois partie, un opérateur et deux expressions, il te suffit donc de calculer la valeur des deux expressions (note la récursivité ici) et d'appliquer l'operateur sur le résultat, cette partie est plutôt facile a mettre en place. le plus dur est de réussir à créer un parseur capable de prendre le format de ton expression voulu et de générer un arbre avec comme nœuds les operateurs et en feuilles les expressions insécable (les chiffres).
Découvrir, apprendre, enseigner : des joies qui satisfassent