Java 将此字符串转换为返回双精度

Java 将此字符串转换为返回双精度,java,string,double,Java,String,Double,我的主要目标是重用代码,同时根据用户自身的顺序修改公式。我以前也尝试过类似的方法,但我无法成功,因为字符串中有字母 public static String formulaCalcularRenda = "(Loja.getRendaFixa()*(1+super.getArea()/100)+super.getReceita()/100)"; @Override public double calcularRenda(){ return (Loja.getRendaF

我的主要目标是重用代码,同时根据用户自身的顺序修改公式。我以前也尝试过类似的方法,但我无法成功,因为字符串中有字母

public static String formulaCalcularRenda = "(Loja.getRendaFixa()*(1+super.getArea()/100)+super.getReceita()/100)";

@Override
    public double calcularRenda(){
        return (Loja.getRendaFixa()*(1+super.getArea()/100)+super.getReceita()/100);
    }

有人能帮我吗?

正如其他人所评论的那样,这不是一件容易的事情,也不是一件明智的事情。但是,如果您致力于此任务,那么脚本语言是表达式计算的更好选择。脚本语言支持内置于Java中,相对易于使用


《程序员指南》将是一个很好的起点。它有一些示例,您应该能够适应您的需要。

如果您仔细想想,用户编写代码没有太多意义。那么,在你看来,对我来说,最好的办法是什么,不要一遍又一遍地重复相同的代码?

用你所使用的语言来标记你的问题总是很好的;您希望用户能够输入任意Java代码并让您的程序执行它吗?这听起来不是一个好主意,而且我不确定用户是否希望或者甚至能够为您的函数编写合理的Java…即使用户能够输入语法正确的Java,您仍然需要编写自己的Java解释器。你已经有了,为什么要重新发明?至少当我进入编译器设计领域时,这是我的想法。也许这个例子可以帮助我。除此之外,还有ScriptEngineManager,允许您动态运行可供使用的脚本。如果它们使用Java,EL可能是更好的选择。
@Override
        public double calcularRenda(){
            return Double.parseDouble(Loja.formulaCalcularRenda);
        }