我正在使用计算器,它应该以字符串形式接收输入,然后执行计算,输出结果。
例如,输入可以是
((23+17) mod 7 × 4 AND 13
4
正如预期的那样,输出将是。
如何解析输入,提取所有操作数并执行计算?
我正在使用计算器,它应该以字符串形式接收输入,然后执行计算,输出结果。
例如,输入可以是
((23+17) mod 7 × 4 AND 13
4
正如预期的那样,输出将是。
如何解析输入,提取所有操作数并执行计算?
其他答案只是“如何为这个结果设置一个变量”,但如果你真的想解析输入,你应该参考这个:
有很多方法可以解决这类问题,也有很多算法可以解决这个问题。其中一些是基于堆栈的,一些执行“树”的下降,我什至可以想到一种(有点)复杂的方式来 OOP 化它。我将从上面的链接开始。
您可以使用正则表达式来解析字符串。
http://docs.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html
首先,您必须寻找最重要的参数,例如 [() - 括号],然后是 [*/] 和 [+-]。您必须将整个字符串分成几部分。
例子:
两者都在 Java 中。