必需:找到变量:值

use*_*043 2 java if-statement syntax-error

public static int biggestArrayGap(int []a, int n)
{
int biggestGap = Math.abs(a[1]-a[0]);
    for (int i=1; i<n-1; i++)
{
    if (Math.abs(a[i]-a[i-1]) > biggestGap)    
        Math.abs(a[i]-a[i-1]) = biggestGap;
}
    return biggestGap;
}
Run Code Online (Sandbox Code Playgroud)

由于某种原因,if语句中的第二行返回为意外类型 - 需要:变量found:value.我试过==这显然不起作用.任何见解?

Kep*_*pil 5

您已撤消了您的分配声明.将其更改为

biggestGap = Math.abs(a[i]-a[i-1]);
Run Code Online (Sandbox Code Playgroud)


Sir*_*rko 5

您在assign语句中切换了操作数.

切换这个

Math.abs(a[i]-a[i-1]) = biggestGap;
Run Code Online (Sandbox Code Playgroud)

对此

biggestGap = Math.abs(a[i]-a[i-1]);
Run Code Online (Sandbox Code Playgroud)

Math.abs(a[i]-a[i-1])只返回一个int值(没有变量引用或类似).因此,您尝试为值分配新值.这是不可能的.您只需为变量分配一个新值即可.