在Java中从一堆代码中提取方程
我有一个Java项目,需要从用户输入的一堆代码中提取数学方程。例如,用户在在Java中从一堆代码中提取方程,java,Java,我有一个Java项目,需要从用户输入的一堆代码中提取数学方程。例如,用户在jTextArea中键入了以下代码: public void setTest(int i) { int j; j=i+i; } 那么,我怎样才能得到方程: j=i+i; 从上面的用户输入中,因为它是字符串形式的?您可以使用Java解释器执行此操作。参见前面的问题 您需要编写或找到一个理解Java的解析器——或者至少对Java有足够的了解,能够识别语句的开始和结束位置,然后识别哪些语句是“等式” (这不是
jTextArea
中键入了以下代码:
public void setTest(int i)
{
int j;
j=i+i;
}
那么,我怎样才能得到方程:
j=i+i;
从上面的用户输入中,因为它是字符串形式的?您可以使用Java解释器执行此操作。参见前面的问题
您需要编写或找到一个理解Java的解析器——或者至少对Java有足够的了解,能够识别语句的开始和结束位置,然后识别哪些语句是“等式”
(这不是一个等式。它是一个赋值语句。当同一个变量出现在
=
操作符的两侧时,这是一个重要的区别,除其他原因外。)可能重复感谢提供的有用信息,但由于jTextArea是由用户输入的,我担心beanshell无法解释它。那么,是否有任何可能的方法通过忽略code
public void setTest(inti)得到等式{int j;code
你能试着澄清一点吗?在那个程序中,我提示一个jTextArea让用户输入他们的代码进行单元测试。然而,每个程序员都有自己的编码风格,并且存在许多不确定因素。在这种情况下,我想只在代码中获取关键字,比如j=I+I;,square=a*b;,等等……因此t解释器只能对方程进行精确解释。