[英]Input operators and operands into two different stacks
我想从使用Scanner或更合适的东西的用户那里得到一个表达式作为输入,并将运算符推入一个堆栈,将操作数推入另一个堆栈。
所以如果我有类似的东西:52 + 3 *(2-1)
我想使用堆栈对其进行评估。
我想到将整个行读取为字符串并将其更改为char [],但问题是52将被读取为两个单独的char。
您可以一次读取整行,然后使用StringTokenizer获取各个运算符/操作数。
String example = "52+3*(2-1)";
String delim = "[/*-+()]";
StringTokenizer st = new StringTokenizer(example, delim, true);
while(st.hasMoreTokens())
{
// check if it's an operator or operand and add it to the appropriate stack
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.