Пишу калькулятор, хочу что бы он умел считать выражения типа "2+3*4/2"
Цифры у меня получилось вывести и преобразовать их в Int, а что делать со знаками я не знаю, знаки выглядят как String.
Как подружить цифры со знаками?
Нужно разбирать (парсить) все выражение целиком. Глобально, есть два варианта:
Пойти легким путем и использовать готовые парсеры. Например, в ответе profesor08 используется встроенный в движок javascript - фунцкия eval. Она все делает сама: определяет числа, расставляет приоритет операций, считает.
Пойти интересным путем и написать парсер самому. Такие задачи могут дать в конце семестра студентам профильного вуза. Парсер проходит по выражению и строит некое внутреннее представление. Потом проходит еще раз и вычисляет значение, исходя из этого представления. Чаще всего используется обратная польская нотация. Ничего сложного, но скорее всего, первый раз уйдет не один вечер чтобы написать и отладить.
В итоге разобрался я с польской нотацией недели за 3, после работы времени мало. Сделал интерфейс к калькулятору, все работает, доволен. Хочу теперь сделать exe файл чтобы можно было потрогать.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.