Приоритеты операторов в записи в stack java

159
28 марта 2018, 04:48

Программа упрощенный калькулятор. Есть метод в котором сравниваются приоритеты математических операторов, но я не знаю как это сделать. Должен выглядить примерно так:

char topOp = stack.peek();
if (приоритет op > приоритет topOp)
stack.push(op);

op -- это текущий, еще не записанный в stack оператор
Операторы с приоритетом:
+ : 1, - : 1, * : 2, / : 2, % : 2

Answer 1

Создайте Map, заполните приоритетами

Map<Character, Integer> map = new HashMap<>();
map.put('+', 1);
map.put('-', 1);
map.put('*', 2);
...

и пользуйтесь

if (map.get(op) > map.get(topOp))
READ ALSO
Как разбить строку на слова и разделительные знаки?

Как разбить строку на слова и разделительные знаки?

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

153
Считывание данных из командной строки

Считывание данных из командной строки

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

162
jquery-Knob library

jquery-Knob library

Добрый день всемПытаюсь подключить библиотеку jquery-knob, устанавливал через npm install jquery-knob, в package-json она есть"jquery-knob": "^1

146
ajax - обработка возвращаемых данных

ajax - обработка возвращаемых данных

Вопрос следующий: как получить значение data, которое передает php сервер js скрипту в текстовом формате (что бы потом сделать проверку, например...

201