java - 将 Java 中的字符串转换为整数

标签 java string parsing math integer

<分区>

有什么方法可以将 Java 中的“10+(8*9)”之类的字符串转换为整数(结果)? 我正在尝试通过将字符串解析为循环遍历它们的字符并以某种方式尝试获得结果来做到这一点,但这真的很复杂,所以我只是想知道是否还有其他更简单的方法来做到这一点。

最佳答案

你这里有一个 Infix符号

直接解读非常困难,一般转为RPN或Postfix notation首先。

Dijkstra 编写的 Shunting-yard 算法会为您进行转换。您应该获得可以表示为的结果:

10 8 9 * +

一旦你有了这个,你就可以应用 postfix algorithm解决你的堆栈问题。

关于java - 将 Java 中的字符串转换为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28173498/

相关文章:

java - 在 Java 调试器中获取方法结果

java - Java 中数据集的规范化

c - 从c中的给定字符串中打印一些特定字符

python - 如何在 python 中扩展字符串中的字符串?

c - 在 C 中解析文件中的指令的简单方法?

c++ - 在 Shift/Reduce 解析器生成器中指定 C++11 语法操作函数?

java - 如何将 Java 应用程序放入系统托盘?

java - 编写一个程序,读取您的名字并用星号分隔每个字母来显示您的名字

c++ - 在C++中连接字符数组

java - 在多个语言环境中将字符串解析为 BigDecimal