Maison >Java >javaDidacticiel >Comment Java peut-il analyser et évaluer efficacement les expressions mathématiques données sous forme de chaînes ?
Analyse d'expressions mathématiques sous forme de chaînes en Java
Étant donné une expression mathématique représentée sous forme de chaîne, telle que "5 4*(7-15 )", est-il possible d'évaluer et de renvoyer le résultat numérique en Java ? De plus, quelles méthodes offrent l'analyse la plus efficace des expressions arithmétiques ?
Solution :
Une approche pour évaluer les expressions mathématiques sous forme de chaînes consiste à exploiter la classe BeanShell bsh.Interpreter . Le code suivant illustre cette technique :
Interpreter interpreter = new Interpreter(); interpreter.eval("result = 5+4*(7-15)"); System.out.println(interpreter.get("result"));
Cette approche protège contre les risques de sécurité potentiels en garantissant que la chaîne à évaluer provient d'une source fiable.
Alternativement, une méthode plus complexe mais sécurisée L'option est d'utiliser ANTLR (UN autre outil pour la reconnaissance du langage). ANTLR constitue un générateur d'analyseur basé sur la grammaire, capable de gérer des expressions mathématiques comme point de départ.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!