gpt4 book ai didi

java - 将运算符和操作数输入到两个不同的堆栈中

转载 作者:太空宇宙 更新时间:2023-11-04 14:09:29 25 4
gpt4 key购买 nike

我想使用扫描仪或任何更合适的方式从用户那里获取表达式作为输入,并将运算符插入一个堆栈,将操作数插入另一个堆栈。

所以如果我有类似的东西:52+3*(2-1)
我想使用堆栈来评估它。

我想将整行作为字符串读取并将其更改为 char[],但问题是 52 将被读取为两个单独的字符。

最佳答案

您可以一次读取整行,然后使用 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
}

关于java - 将运算符和操作数输入到两个不同的堆栈中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28503193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com