Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
Java
(Модератор:
Serg79
) > Тема:
Вычислить значение из строки
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Вычислить значение из строки (Прочитано 12833 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
Asafj
Интересующийся
Offline
Вычислить значение из строки
«
:
17-12-2010 15:31 »
Я получаю строку например String a = "10+10"
Как получить int - е значение?
Записан
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
Re: Вычислить значение из строки
«
Ответ #1 :
17-12-2010 15:51 »
Разбирать формулу вручную. Например. Алгоритм Дейкстры. Он позволяет из инфиксной нотации переводить в обратную польскую нотацию. А затем уже можно вычислять. Вот описание всего этого в
википедии
Записан
Не будите спашяго дракона.
Джаффар (Коша)
Asafj
Интересующийся
Offline
Re: Вычислить значение из строки
«
Ответ #2 :
17-12-2010 17:29 »
Что то как-то все сложно
А для java нет готового решения?
Записан
Serg79
Модератор
Offline
Пол:
Re: Вычислить значение из строки
«
Ответ #3 :
17-12-2010 18:32 »
Для C/C++ есть Bison (YACC), создает синтаксический анализатор по описанной грамматике. Видал реализации, которые генерят класс парсера и для java. Вот кстати:
http://www.gnu.org/software/bison/manual/html_node/Java-Parsers.html#Java-Parsers
Одним словом с наскока не разберешься, но потратив время на его изучение, почувствуешь всю его мощь. А грамматика описывающая вычисления простых арифметических выражений, задается 5 - 8 строчками.
Записан
npak
Команда клуба
Offline
Пол:
Re: Вычислить значение из строки
«
Ответ #4 :
17-12-2010 19:49 »
Asafj
, все зависит от сложности выражения. Если это число+число или число-число, то разбор можно элементарно сделать регулярными выражениями.
Если там полноценная арифметика, то можно написать грамматику самостоятельно или
спросить гугл
Записан
UniTesK -- индустриальная технология надежного тестирования.
http://www.unitesk.com/ru/
asdas
Интересующийся
Offline
Re: Вычислить значение из строки
«
Ответ #5 :
18-12-2010 12:38 »
Понятно
спасибо
Видимо, на варианте с регуляр. выражениями остановлюсь.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
Java
(Модератор:
Serg79
) > Тема:
Вычислить значение из строки
Загружается...