首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >中缀到后缀将负整数读为负数

中缀到后缀将负整数读为负数
EN

Stack Overflow用户
提问于 2016-04-24 17:43:31
回答 1查看 314关注 0票数 0

我正在做一个功课计算器,除了我的扫描仪,一切都能正常工作,因为当它接受一个负整数时,它不会将它视为负数,它只是将减号视为运算符,我希望它将其视为操作数的一部分:

代码语言:javascript
复制
String exp = "8+4*-12-4";
    String[] temp = new String[exp.length()];
    temp =exp.split("(?<=[-+*/])|(?=[-+*/])");

这使得它在只有正整数的情况下是正确的。例如输入: 8+4*12- 4,输出:8,4,12,*,+,4,-

但是如果是负数,它就不能正确处理了!这就是我需要帮助的地方,提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-04-24 17:56:44

LinkedList <String>list= new LinkedList<String>();只获取字符串中的每个字符并将每个字符添加到结果列表中。您需要编写语法感知代码,而不是这样做。如果您可以坚持在所有标记之间使用空格,那么您可以在空格with, for example, String.split上拆分。如果没有,最简单的替代方法是“手动”遍历字符串中的字符,并以这种方式创建输出。

虽然我认为也可以使用具有非捕获正向先行的String.split来对运算符进行拆分,但在这种程度上解决正则表达式比在代码中解决问题要困难得多。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36821534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档