我正在寻找一种简单有效的方法来在Java的词法分析器中实现一组数字。例如,我的输入代码如下:

"6+9" ,


输出必须有点像这样:

   Number : 6
   Sign : +
   Number: 9


我的问题是,除了按以下方式实施之外,我无法识别该数字:

static char INTVALUE = ('0') ;


这意味着我必须手动输入0到9之间的每个数字,我不知道这样的方法是否甚至允许在输入中输入一个数字,如85。

顺便这是做作业
谢谢 。

最佳答案

为什么不为此使用正则表达式。这听起来最适合您的尝试。

它相当简单易学。在此cheatsheet中查看字符类(\ d)和修饰符(+?)

要检查整数并使我们加倍以下内容。

aStr.matches("-?\\d+(\\.\\d+)?");


对于整数:

aStr.matches("-?\\d+");

关于java - 带有整数文字的解析器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26557226/

10-16 17:33