我试图获取一个字符串,作为参数传递,并在 if 条件语句中将其作为 boolean 表达式求值。例如,用户像 $ java MyProgram x==y
一样调用 MyProgram。
示例程序
定义变量:
int x;
int y;
boolean 表达式参数:
String stringToEval = args[0];
用用户表达式控制程序执行:
if (stringToEval) {
...
}
最佳答案
您需要使用某种形式的表达式解析器来解析 args[0]
中的值,并创建可应用于 x
和 的表达式>y
。您也许可以使用类似 Janino 的东西, JEXL或 Jeval去做这个。如果输入定义明确,您也可以自己编写一个小型解析器。
关于java - 将命令行参数评估为 boolean 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19704906/