ホームページ > Java > &#&チュートリアル > Java は文字列として与えられた数式を効率的に解析して評価するにはどうすればよいでしょうか?

Java は文字列として与えられた数式を効率的に解析して評価するにはどうすればよいでしょうか?

Linda Hamilton
リリース: 2024-11-29 08:46:10
オリジナル
378 人が閲覧しました

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

Java での数式を文字列として解析する

「5 4*(7-15」などの文字列として表現された数式が与えられたとします) )」をJavaで評価して数値結果を返すことは可能でしょうか?さらに、算術式の最も効率的な解析を提供するメソッドはどれですか?

解決策:

数式を文字列として評価する 1 つのアプローチは、BeanShell bsh.Interpreter クラスを利用することです。 。次のコードは、この手法を示しています。

Interpreter interpreter = new Interpreter();
interpreter.eval("result = 5+4*(7-15)");
System.out.println(interpreter.get("result"));
ログイン後にコピー

このアプローチは、評価される文字列が信頼できるソースからのものであることを保証することで、潜在的なセキュリティ リスクを防ぎます。

あるいは、より複雑だが安全なオプションは、ANTLR (言語認識のための別のツール) を使用することです。 ANTLR は文法ベースのパーサー ジェネレーターを構成し、出発点として数式を処理できます。

以上がJava は文字列として与えられた数式を効率的に解析して評価するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート