无法编译的代码 - 非法表达式的开始

Ale*_*lex 1 java

经过多次检查和谷歌搜索,我无法理清为什么我一直收到这个错误.最初我把double rosenbrock = (1-x)**2+100*(y-x**2)**2;它分成了声明和作业,但这并没有解决它.我确信问题应该是微不足道的.

public double objFunction(double input1, double input2){
        double x = input1;
        double y = input2;
        double rosenbrock = 0;
        rosenbrock = (1-x)**2+100*(y-x**2)**2;
        return rosenbrock;

    }
Run Code Online (Sandbox Code Playgroud)

编辑:是的,问题是在行,rosenbrock = (1-x)**2+100*(y-x**2)**2;我很抱歉,我之前没有明确提到过.错误消息没有指定问题的根源,因此我对可能导致它的原因感到困惑.

ars*_*jii 8

Java没有**- 那就是Python.你可以使用Math.pow():

rosenbrock = Math.pow(1 - x, 2) + 100 * Math.pow(y - x*x, 2);
Run Code Online (Sandbox Code Playgroud)

您可以在"运算摘要"中找到所有有效运算符的列表.