我正在写一个程序加工转换复数。但是,我想要一种获取输入字符串并使用复杂变量计算转换的方法。例如:
1/(z+1)
(z^2)/(z/2)
其中 z 是复数。现在,我看了 JEP 和一些examples,但我无法确定它是否允许您实际输入 z 作为变量(并且在任何情况下它都不是免费的)。是否有一个 Java 表达式解析器(在处理中工作,它使用旧版本的 java 并且没有泛型)可以用来执行此操作?
如果没有,有人可以告诉我如何创建一个的基础知识吗?
正如 PhiLo 所提到的,您可以使用泛型。试试这个处理草图:
import java.util.*;
java.util.List<String> list = Arrays.asList("a", "b", "c");
textFont(loadFont("UMingCN-30.vlw"));
for(int i = 0; i < list.size(); i++) {
text(list.get(i), 5, int(i*30)+30);
}
JEP 有一个非商业版本 (GPL)。下载它here并将其添加到您的处理类路径(导入它)。
成功后,您可以像这样使用 JEP:
void setup() {
org.nfunk.jep.JEP parser = new org.nfunk.jep.JEP();
parser.addComplex();
try {
parser.parseExpression("(1+2*i) + (3+8*i)");
println(parser.getComplexValue());
} catch(Exception e) {
e.printStackTrace();
}
}
产生(预期)输出:(4.0, 10.0)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)