我正在寻找一种简单有效的方法来在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/