如何解析作为字符串给出的输入?

时间:2013-12-20 22:39:14

标签: java

我正在创建一个基本上是计算器的程序,它接收用户的输入并将其分成不同的部分。 示例输入:

4 + 5

我的程序接受输入并对其进行分析并分解术语,操作符,省略空格和其他一些内容。但是,当我把所有碎片放回原处时,它们都是String形式。所以它看起来像这样:

"4+5"

如何让程序获取该字符串并解析它以产生int 9?

我尝试Integer.parseInt(input),毫不奇怪,它会返回错误。那么有一种简单(足够)的方法吗?或者我是否必须创建自己的方法来解析方程式?

顺便说一句,它可以执行两个以上的术语,我分解输入的原因是检查输入错误,例如5 ++ 5或那种方式。它也是要加入PEMDAS。

1 个答案:

答案 0 :(得分:1)

如果不改变您当前的代码,我真的无法做到这一点。您可能需要做的是检查字符串中是否有运算符字符('+','*'等)的实例,并使用split方法分隔出数字,然后您可以将这些数字单独解析为整数,以及然后使用运算符进行组合。

或者,如果它完全可能,只需在每个数字和前一个/尾随运算符之间留一个空格,然后拆分''的实例。