#java #stack #calculator
#java #стек #калькулятор
Вопрос:
Я должен иметь в виду приоритет операций, все числа, включая ответ, являются целыми числами (мне кажется глупым, но неважно), и я должен проанализировать строку для уравнения и, насколько мне известно, поместить каждое число и каждый оператор в два разных стека, прежде чем сравниватьих.
Я не знаю, как подойти к этой проблеме, и сейчас моя главная забота связана со скобками. Я хочу использовать рекурсивный метод для решения вычисления, которое будет проверять наличие круглых скобок, решать их и заменять их их результатом, но я не уверен, как это сделать. Я мог бы использовать substring()
и indexOf()
, но я предпочел бы быть более элегантным.
Кроме этого, я не уверен, как решить вычисление после того, как числа и операторы сложены. Я думаю, мне следует сравнить 2 лучших оператора, чтобы убедиться, что если я объединю два числа, это будет в правильном порядке операций, но я тоже не хочу быть неуклюжим с этой частью.
Комментарии:
1. Если это домашнее задание, пожалуйста, отметьте свой вопрос как таковой.
2. Что вы подразумеваете под «калькулятором стека»? Калькулятор, который принимает входные данные в постфиксной нотации (он же обратная польская нотация)?
Ответ №1:
Я бы порекомендовал вам изучить алгоритм маневровой площадки и вернуться, когда у вас возникнут конкретные вопросы о том, как он работает или как реализовать определенные его части.