【问题标题】:How can I parse an input given as a string? [duplicate]如何解析作为字符串给出的输入? [复制]
【发布时间】:2014-01-09 20:56:49
【问题描述】:

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

4 + 5

我的程序接受输入并对其进行分析,然后分解术语、运算符、省略空格和其他一些内容。但是,当我将所有部分重新组合在一起时,它们是字符串形式。所以它看起来像这样:

"4+5"

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

我试过 Integer.parseInt(input) ,不出所料,它返回了一个错误。那么有没有一种简单(足够)的方法来做到这一点?还是我必须创建自己的方法来解析方程?

顺便说一句,它可以做两个以上的词,我分解输入的原因是检查输入错误,例如 5 ++ 5 或类似的任何内容。还要加入PEMDAS。

【问题讨论】:

标签: java


【解决方案1】:

据我所知,在不更改当前代码的情况下,确实无法做到这一点。您可能需要做的是检查字符串中是否存在运算符字符(“+”、“*”等)的实例,并使用 split 方法分离出数字,然后您可以将其单独解析为整数,并且然后使用运算符进行组合。

或者,如果可能的话,只需在每个数字和前面/后面的运算符之间留一个空格,然后围绕 ' ' 的实例进行拆分。

【讨论】:

    猜你喜欢
    • 2017-04-02
    • 2022-11-15
    • 1970-01-01
    • 2013-06-23
    • 2020-07-08
    • 2013-08-16
    • 1970-01-01
    • 1970-01-01
    • 2010-11-28
    相关资源
    最近更新 更多