Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何让java接受字符串表达式作为双精度表达式?_Java - Fatal编程技术网

如何让java接受字符串表达式作为双精度表达式?

如何让java接受字符串表达式作为双精度表达式?,java,Java,在我的代数项目中,我正在制作一个java程序,可以绘制你输入的方程式。我从一个网站上获得了免费的基本绘图代码,并实现了一些东西。在代码中,当它返回图形的方程式时,它是一个双精度的。在代码中,您可以更改double中的等式,它将很好地绘制它。当我试图从用户输入将字符串放入代码时,如果我在等式中放入X或*或/之类的内容,程序将崩溃。我试着把Double.parseDoubleequation放到Double中,但还是不起作用。顺便说一句,我是java新手。谢谢 这是代码的外观类圆圈1: 公共双Get

在我的代数项目中,我正在制作一个java程序,可以绘制你输入的方程式。我从一个网站上获得了免费的基本绘图代码,并实现了一些东西。在代码中,当它返回图形的方程式时,它是一个双精度的。在代码中,您可以更改double中的等式,它将很好地绘制它。当我试图从用户输入将字符串放入代码时,如果我在等式中放入X或*或/之类的内容,程序将崩溃。我试着把Double.parseDoubleequation放到Double中,但还是不起作用。顺便说一句,我是java新手。谢谢

这是代码的外观类圆圈1:

公共双GetyDuble x{ 返回Double.parsedouble方程; }

在读取公式的类中,以下是代码:

graph.functions.add(new Circle1());
表达式是字符串

Double。parseDouble只能解析双精度值。例如,如果字符串值为5、5.0或5.89,则Double.parseDouble不会引发异常


如果你想解析一个等式,你必须用你自己的逻辑来解析它。例如,您必须搜索运算符,如+、-、/,拆分其上的字符串,然后处理输入。

如果允许使用库,则可能就是您要查找的对象。

Double.parseDouble完全按照它所说的做。它不解析X,*,或/。还有,你说的方程是双精度的是什么意思?你能提供一个有效的方程和一个无效的方程的例子吗?如果我这样做,可能会重复:public double getYdouble x{return 5*x*x-3*x+7;}图形会工作,如果我把它作为字符串方程输入,这将不起作用:public double getYdouble x{return double.parsedoublequation;}谢谢我有一个简短的问题IM新手你将如何搜索运算符?你必须使用正则表达式来查看是否有运算符。G通过contains、indexof和matches方法的文档,你将了解需要做什么