Maison > Java > javaDidacticiel > Comment Java peut-il analyser et évaluer efficacement les expressions mathématiques données sous forme de chaînes ?

Comment Java peut-il analyser et évaluer efficacement les expressions mathématiques données sous forme de chaînes ?

Linda Hamilton
Libérer: 2024-11-29 08:46:10
original
421 Les gens l'ont consulté

How Can Java Efficiently Parse and Evaluate Mathematical Expressions Given as Strings?

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"));
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal