powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / 2+2*2 =?
17 сообщений из 17, страница 1 из 1
2+2*2 =?
    #35633153
KaTaJIu3aToP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

Есть String "2+2*2". Как вычислить её значение?

Спасибо за внимание.
...
Рейтинг: 0 / 0
2+2*2 =?
    #35633161
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
самое простое - скриптовать
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
2+2*2 =?
    #35633192
_mashuta_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В M$ Calculator посчитайте. Сначала в простом, потом в "научном" ;-)
...
Рейтинг: 0 / 0
2+2*2 =?
    #35633252
KaTaJIu3aToP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Неправильно расссказал о задаче.

На вход будут подаваться стринговые значения аля вышеописанное. Чем можно парсить эти значения для вычисления результата.
Пример.
На входе: 2+2*2
На выходе: 6

На входе: 2*2*3+1
На выходе: 13
...
Рейтинг: 0 / 0
2+2*2 =?
    #35633305
risk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KaTaJIu3aToPНеправильно расссказал о задаче.

На вход будут подаваться стринговые значения аля вышеописанное. Чем можно парсить эти значения для вычисления результата.
Пример.
На входе: 2+2*2
На выходе: 6

На входе: 2*2*3+1
На выходе: 13

А вы поставьте Оракл и делайте запрос в базу что то типа select 2+2*3 from dual ))))))))))
...
Рейтинг: 0 / 0
2+2*2 =?
    #35633313
Sarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если жава шестая, то javax.script

если ранняя, то либо рино прикручивать, либо изучать алгоритмы и делать самому :))

Код: plaintext
Meo voto
...
Рейтинг: 0 / 0
2+2*2 =?
    #35633327
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как вариант
javacc
...
Рейтинг: 0 / 0
2+2*2 =?
    #35633386
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_mashuta_В M$ Calculator посчитайте. Сначала в простом, потом в "научном" ;-)
+1. Известная фишка!
...
Рейтинг: 0 / 0
2+2*2 =?
    #35633393
Глас народа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KaTaJIu3aToPНеправильно расссказал о задаче.

На вход будут подаваться стринговые значения аля вышеописанное. Чем можно парсить эти значения для вычисления результата.
Пример.
На входе: 2+2*2
На выходе: 6

На входе: 2*2*3+1
На выходе: 13

Apache Jexl
...
Рейтинг: 0 / 0
2+2*2 =?
    #35633746
lamox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я бы посоветовал MVEL
...
Рейтинг: 0 / 0
2+2*2 =?
    #35633886
Гата Селов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KaTaJIu3aToP,
смотри в гугле "Синтаксический анализ методом рекурсивного спуска". На решение твоей проблемы часа времени хватит
...
Рейтинг: 0 / 0
2+2*2 =?
    #35633944
untitled
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я делал как то через little language pattern и StringTokenizer
стандартный подход граф сварганить и просчитать его, тогда, в случае чего, и преобразовать можно будет формулу достаточно просто, сократить, оптимизировать или еще что-нибудь с ней сделать..
но блаблабла фром дуал, это, конечно, наш выбор ))
...
Рейтинг: 0 / 0
2+2*2 =?
    #35634333
VoDA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KaTaJIu3aToPНеправильно расссказал о задаче.

На вход будут подаваться стринговые значения аля вышеописанное. Чем можно парсить эти значения для вычисления результата.
Пример.
На входе: 2+2*2
На выходе: 6

На входе: 2*2*3+1
На выходе: 13Можно по жести извратиться и скомпилировать на ходу в класс вида:
class MyClass$1234 {
public int calc() {
return 2+2*2;
}
}
Затем в коде инстанцировать этот класс и вызвать метод. Я делал для тестов через javassist.
...
Рейтинг: 0 / 0
2+2*2 =?
    #35642399
skelet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а напрямую к компилятору разве не реально подцепиться и попросить его посчитать?
...
Рейтинг: 0 / 0
2+2*2 =?
    #35643010
Super Puper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самый грамотный вариант - использовать Regular expressions.

Хотя передавать строку в запросе к dual - тоже шедевр )))
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
2+2*2 =?
    #38683457
DimOn19**
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
работал с mvel, неплохая штука для таких вещей. поосоветовал бы посмотреть в его направлении. не бойтесь если доки не совсем свежие - в доках сам язык описан верно.

и ещё, можно пробовать ваши выражения на разных версиях - у меня у самого почему-то версия 2.1.9 работала быстрее чем 2.2.0.
ещё, иногда возникает ошибка illegal acces error. и без влияния на скорость - отключением jit-оптимизатора.

В общем, в остальном - пуляешь строку - получаешь ответ.
...
Рейтинг: 0 / 0
2+2*2 =?
    #38683480
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гата СеловKaTaJIu3aToP,
смотри в гугле "Синтаксический анализ методом рекурсивного спуска". На решение твоей проблемы часа времени хватит )))))))
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / 2+2*2 =?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]