对于我的代数项目,我正在制作一个java程序,可以绘制你输入的等式。我从网站获得了免费的基本图形代码,并实现了一些东西。在代码中,当它返回图形的等式时,它是一个双精度数。在代码中,您可以更改double中的等式,并将其绘制得很好。当我尝试将我的字符串放入代码(来自用户输入)时,如果我在等式中放入类似X或*或/的东西,程序将崩溃。我试图把(Double.parseDouble(方程式))放在double中,但它仍然不起作用。顺便说一下,我是java的新手。谢谢!
这就是代码的样子(类“circle1”):
public double getY(double x) {
return (Double.parseDouble(equation));
}
在读取等式的类中,这是代码:
graph.functions.add(new Circle1());
(等式是字符串)
答案 0 :(得分:0)
Double.parseDouble()
只能解析双值。例如,如果您的字符串值为“5”,“5.0”或“5.89”,Double.parseDouble()
将不会抛出异常。
如果要解析方程式,则必须使用自己的逻辑对其进行解析。例如,您将不得不搜索运算符(如+, - ,/),将字符串拆分为它们,然后处理输入。
答案 1 :(得分:0)
如果您被允许使用库http://code.google.com/p/symja/wiki/MathExpressionParser可能正是您要找的