2012-03-04 73 views
1

号码和运营商之间的区分在Java 如果GUI输入是这(55.55 + 23424 * 4545) 那些输入将来自字符串被转换为整数。 问题是我该如何让程序区分这个计算中的数字和运算符?在计算的java

+4

希望他们不会全部转换为整数,因为55.55是不是整数... – DNA 2012-03-04 17:05:35

回答

2

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

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

2

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

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

this tutorial如何使用正则表达式来正确地解析字符串。