gpt4 book ai didi

java - Eval() 解释器返回 null

转载 作者:太空狗 更新时间:2023-10-29 13:15:08 25 4
gpt4 key购买 nike

我正在研究移动应用计算器我正在尝试使用“bsh”库将字符串评估为数学方程式。成功导入库并编译。

当我尝试在等号下实现这部分时,我总是得到 null

equSign.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String value = "";
Double result= null;
Interpreter interpreter = new Interpreter();
try {
result = (Double)interpreter.eval(input);
} catch (EvalError evalError) {
evalError.printStackTrace();
}
value = String.valueOf(result);
text.setText(value);
}
});

每次用户预选 0 到 9 个数字或 .或任何操作 +/- *它将被添加到输入变量

  Num0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
text.setText(text.getText()+"0");
input = input + "0";
}
});

此功能适用于所有其他按钮

我也用try catch来捕捉错误

最佳答案

您的问题似乎是您混合了 java 类和“bsh”解释器的变量。基本上 bsh 不能直接访问你的 java 变量,你需要在解释器中设置它们。

i.eval(input) 可能就是您想要做的。

查看 http://www.beanshell.org/javadoc/bsh/Interpreter.html 中的示例查看其他一些功能的使用情况。

关于java - Eval() 解释器返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35544185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com