Я пишу программу, которая принимает постфиксное выражение, преобразует его в инфиксное выражение и выводит результат.Это код, который я написал до сих пор, но я не могу понять, как выполнить вычисления после преобразования.
public String convert(String postfix)
{
Stack<String> variables = new Stack<>(); // declaring a new stack to
hold the variables
for(int i = 0; i < postfix.length(); i++)
{
char c = postfix.charAt(i);
if(isOperator(c))
{
String a = variables.pop();
String b = variables.pop();
variables.push("("+a+c+b+")");
}
else
variables.push(""+c);
}
return variables.pop();
}
Я пытался добавить операторы if / switch внутри функции, но я получал "Несовместимая ошибка стека и строки ".Я пытался сделать что-то вроде:
if (variables == abc++)
{
(a + (b + c));
}
Как я могу это делать?