【发布时间】:2015-04-16 00:40:51
【问题描述】:
while (strToken.hasMoreTokens())
{
String i = strToken.nextToken();
char ch = ' ';
ch = i.charAt(0);
int operand;
int operator;
if(Character.isDigit(ch))
{
operand = Integer.parseInt(i);
operandStack.push(operand);
}
else
{
operator = i.charAt(0);
operatorStack.push(operator);
}
}
while(operandStack.size() > 1)
{
operandStack.push(operate(operandStack.pop(),
operandStack.pop(), operatorStack.pop()));
}
resultTextField.setText(Integer.toString(operandStack.peek()));
我的代码不会以前缀表示法计算操作数。我应该如何修改它以评估前缀表示法的操作数。
【问题讨论】:
-
'code does not evaluate' 不是问题描述。相反会发生什么?用什么输入?什么输出?预期和实际?当你already had working code时你怎么会发这个?
-
@EJP 输入:* + 16 4 + 3 1:预期输出:80,实际输出:128
-
请使用此信息更新您的问题,这样人们就不必阅读所有的 cmets 来了解全局。
-
单元测试将在这里为您提供帮助。