【发布时间】:2011-06-19 22:10:44
【问题描述】:
我在空闲时间从事一个计算器项目,以在暑假期间保持我的 Java 技能,但我遇到了障碍。到目前为止,一切都很好,基本上完成了;我只是想添加一些功能。
我试图弄清楚如何设置它,而不是键入 5 然后单击 +、-、/ 或 * 然后键入第二个数字,如何让用户输入number1(operator)number2。我主要只是想弄清楚如何在运算符或键字符串之前获取所有内容,然后在其之后获取所有内容并使它们成为单独的字符串,然后我可以解析它们并将它们添加到我的其余代码中。我只是忘记了如何在+ 之前和之后作为单独的东西获取所有内容!我假设我将使用indexOf() 和子字符串。
【问题讨论】:
-
恭敬地不同意 SLaks。正则表达式不太擅长解析,特别是当他希望允许用户输入带有嵌套括号的复杂方程时(真的应该允许这种可能性)。同样,您需要的是解析器。考虑使用 Java 与生俱来的 JavaScript 能力来解析您的方程式。
-
避免处理括号。没有括号,一个正则表达式可能就足够了;带括号它变成了语法,你需要一个编译器。有关正则表达式的一些信息,请参阅 Matcher 类。
标签: java string substring indexof