Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > получение формулы из строки |
Автор: gibbzy 12.2.2008, 18:17 |
у меня в университете есть замечательный предмет именуеться он МатЛогика. Так вот там постоянно нужно писать таблицы истинности. чтобы облегчить себе труд решил написать прогу которая будет отрисовывать эти самые таблицы. загвостка вот в чём. Например: !(a&b) в зависимости от значений А или B (булевые переменные) нужно вывести чему равно данное выражение. Мы вводим формулу в текстовое поле. Текстовое поле возвращает нам тип String. как переделать строку в формулу чтобы в последствии можно было её пощитать? |
Автор: ecologist 13.2.2008, 09:53 |
http://www.japisoft.com/formula/ |
Автор: Kangaroo 13.2.2008, 10:01 |
gibbzy, а если писать самому, то можно использовать скриптовые возможности Java 6. |
Автор: _Y_ 13.2.2008, 11:39 |
В Одна Тысяча Девятсот .... году я написал такое на VB с целью сложного поиска в текстовой DB. Если нужно - могу поискать код в бакапах. |
Автор: v2v 13.2.2008, 12:25 |
Такое приложение действительно лучше писать на скриптовых языках: напр. в python-e есть функция eval , в которую передаёшь строку , а строку, а она выполняет переданное как код. в java 1.5 и меньше я о такой возможности не знаю. (с 1.6 дело пока не имел :( ) |
Автор: LSD 13.2.2008, 16:05 |
Под мобильник придётся писать свой или использовать веб-сервисы. |
Автор: hydrant 15.2.2008, 12:57 |
Приветствую. Я как-то писал "компилятор" бейсика на Java, который спокойно разруливал выражения типа a = -r - 1 + 1 + 2 * 2 - 4 + ((2 + 6 * 4 + 1 + (10 + 3 - m) * 6) * 17 * (1 / 17) + (95 * 2 / 2) - 10 - k) Если интересует, могу выложить куда-нибудь. Правда булевскую логику я не делал - только арифметические операции. |
Автор: LSD 15.2.2008, 14:47 |
Выкладывай сюда, прикрепи архив к сообщению. |
Автор: hydrant 17.2.2008, 15:27 |
Архив. Там конечно много криви, т.к. писалось это больше прикола ради. Но считает исправно. |