【发布时间】:2017-11-01 03:28:01
【问题描述】:
我正在制作一个计算器,并且试图弄清楚如何在方程的指数已经在字符串中时对其进行转换。例如,如果用户输入
2 + 3 * (4/2) + 6.23^4.2 + 32
作为一个字符串,我将如何计算 6.23^4.2 以及方程式的其余部分。
我已经可以计算一个没有指数的方程,只是指数部分有问题。使用图形用户界面
编辑:我知道 math.pow,但我如何从字符串中提取 6.23 和 4.2,计算它们的指数,然后将其重新插入字符串中?
这就是我目前在没有指数的情况下计算方程的方式:
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("JavaScript");
String infix = textField.getText();
if (countR != countL || op == false) {
textField.setText("ERROR");
} else {
try {
Object obj = engine.eval(infix);
textField.setText(obj.toString());
} catch (ScriptException e1) {
// TODO Auto-generated catch block
textField.setText("ERROR");
e1.printStackTrace();
}
}
【问题讨论】:
-
试试
Math.pow(6.23, 4.2) -
我知道 math.pow,但是我如何从字符串中提取 6.23 和 4.2,计算它们的指数,然后将其重新插入到字符串中以作为完整方程计算?
-
那么您应该提供您尝试过的内容。在您的问题中,您说没有指数就没有问题。
-
@ShanSolo 你如何提取其他的?同样。
-
这是作业吗?
标签: java calculator