Оценка булева выражения в Java

Посмотрите здесь: http://en.support.wordpress.com/code/posting-source-code/

Обертка Ваш код в этих тегах: [язык исходного кода ='css'].. [/исходный код]

(или короче [кодируют Ленга ='css'].. [/код])

Примечание, что Визуальный Редактор не интерпретирует теги, необходимо нажать Preview, чтобы видеть, как это работает.

Доступные коды языка:

  • удар actionscript3
  • до-диез clojure
  • coldfusion
  • cpp
  • css
  • delphi
  • фа-диез erlang
  • разность
  • отличный
  • html
  • javascript
  • java
  • javafx
  • matlab (только ключевые слова)
  • текст objc
  • perl
  • php
  • рубин powershell
  • python
  • r
  • scala
  • sql
  • vb
  • xml

Hope, который помогает.

10
задан BoltClock 15 May 2012 в 14:44
поделиться

5 ответов

Вы можете использовать механизм сценариев в Java6 и выбрать любой из популярных языков сценариев, например Scala , Ruby , Python , Groovy и Javascript . Все, что вам нужно сделать, это убедиться, что выражение, которое вы хотите оценить, написано на правильном языке. Groovy, вероятно, является самым простым и лучше всего интегрируется.

Я успешно использовал этот метод для функции, предлагающей такие возможности, как формула / вычисляемый столбец в популярном приложении для работы с электронными таблицами.

6
ответ дан 3 December 2019 в 15:35
поделиться

Используйте Apache Commons Jexl; который специально разработан для таких требований.

http://commons.apache.org/jexl/

14
ответ дан 3 December 2019 в 15:35
поделиться

JUEL предоставляет реализацию унифицированного языка выражений Java без явной привязки к JSP. Вот его Краткое руководство , оценка выражения (№3 на этой странице) - это та часть, которая вас интересует.

В качестве альтернативы Spring 3.0 предоставляет свое собственное (хотя и несколько похожее) ) язык выражения. Этот вариант имеет смысл, только если вы уже используете Spring - я бы не стал использовать его только для EL.

0
ответ дан 3 December 2019 в 15:35
поделиться

API доступен по адресу http://lts.online.fr/dev/java/math.evaluator/

Пример:

MathEvaluator m = new MathEvaluator("-5-6/(-2) + sqr(15+x)");
m.addVariable("x", 15.1d);
System.out.println( m.getValue() );
0
ответ дан 3 December 2019 в 15:35
поделиться

Попробуйте http://code.google.com/p/xpressionengine/ для реализации с открытым исходным кодом

{{1} }
0
ответ дан 3 December 2019 в 15:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: