-5

我正在使用计算器,它应该以字符串形式接收输入,然后执行计算,输出结果。

例如,输入可以是

  ((23+17) mod 7 × 4 AND 13

4正如预期的那样,输出将是。

如何解析输入,提取所有操作数并执行计算?

4

3 回答 3

2

其他答案只是“如何为这个结果设置一个变量”,但如果你真的想解析输入,你应该参考这个:

具有优先级的方程(表达式)解析器?

有很多方法可以解决这类问题,也有很多算法可以解决这个问题。其中一些是基于堆栈的,一些执行“树”的下降,我什至可以想到一种(有点)复杂的方式来 OOP 化它。我将从上面的链接开始。

于 2013-08-28T11:43:54.500 回答
1

您可以使用正则表达式来解析字符串。

http://docs.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html

首先,您必须寻找最重要的参数,例如 [() - 括号],然后是 [*/] 和 [+-]。您必须将整个字符串分成几部分。

例子:

简单计算器(页面底部)

另一个计算器

两者都在 Java 中。

于 2013-08-28T11:43:10.560 回答
0

请参阅此页面以供参考。

http://www.tutorialspoint.com/java/java_basic_operators.htm

java中的所有运算符都解释得很清楚。

于 2013-08-28T11:41:08.910 回答