Попытка создать калькулятор стека на Java

#java #stack #calculator

#java #стек #калькулятор

Вопрос:

Я должен иметь в виду приоритет операций, все числа, включая ответ, являются целыми числами (мне кажется глупым, но неважно), и я должен проанализировать строку для уравнения и, насколько мне известно, поместить каждое число и каждый оператор в два разных стека, прежде чем сравниватьих.

Я не знаю, как подойти к этой проблеме, и сейчас моя главная забота связана со скобками. Я хочу использовать рекурсивный метод для решения вычисления, которое будет проверять наличие круглых скобок, решать их и заменять их их результатом, но я не уверен, как это сделать. Я мог бы использовать substring() и indexOf() , но я предпочел бы быть более элегантным.

Кроме этого, я не уверен, как решить вычисление после того, как числа и операторы сложены. Я думаю, мне следует сравнить 2 лучших оператора, чтобы убедиться, что если я объединю два числа, это будет в правильном порядке операций, но я тоже не хочу быть неуклюжим с этой частью.

Комментарии:

1. Если это домашнее задание, пожалуйста, отметьте свой вопрос как таковой.

2. Что вы подразумеваете под «калькулятором стека»? Калькулятор, который принимает входные данные в постфиксной нотации (он же обратная польская нотация)?

Ответ №1:

Я бы порекомендовал вам изучить алгоритм маневровой площадки и вернуться, когда у вас возникнут конкретные вопросы о том, как он работает или как реализовать определенные его части.