想用Java写一个简单的几何画板,可以输入函数然后利用这个函数画图像。
虽然可以用javax.Script包直接运算4+3,还可以
str = str.replaceAll("X",String.valueOf(getX()));
但是对于方便的几次方运算符“^”转义方面根本搞不清楚(正则表达式不太会用)。
我得想法是,能不能直接将输入的表达式,例如“x^2+4”,作为一个函数对象function保存起来。
function fun1 = new function("x^2+4");
int i = fun1(3);
//i=13
我用Script的辣鸡代码:
代码烂忍忍吧……我是初学者。
谢!
把表达始中的xyz替换为数字
"x*5+x*3".replace('x', '6')
计算2的算数表达式
一般就是什么波兰式,逆波兰式,中缀表达式...的解析表达式再计算,算法都忘完了
Java 计算数学表达式(字符串解析求值工具)
还有就是你所的用js引擎来计算,真么想到还可以这么玩。对+-*/()的运算比较方便,但是涉及到平方,正弦余弦的就要转换成js里面的方法