在计算java中区分数字和运算符

时间:2012-03-04 16:57:27

标签: java calculator

在Java中 如果是GUI输入(55.55 + 23424 * 4545) 这些输入将从String转换为整数。 问题是如何让程序区分这个计算中的数字和运算符?

3 个答案:

答案 0 :(得分:2)

您必须解析之前收到的String,将数字和运算符放在不同的变量中。允许用户只输入数字并为操作员提供按钮可能更简单,因此您可以将它们视为信号。

解析这种String(如果允许所有类型的运算符和操作)最终需要编写完整的语法并从该语法生成​​解析器。

答案 1 :(得分:2)

使用正则表达式!数字的正则表达式:

number: [0-9]+\.?|[0-9]*\.[0-9]+

有关如何使用正则表达式正确解析字符串的信息,请参阅this tutorial

答案 2 :(得分:2)

我在这里找到了一个有趣的想法:Is there an eval() function in Java?

在java中使用eval-analog。

此处还有一个特殊的评估项目:

http://java.net/projects/eval/pages/Home