Java if-else语句错误

Java if-else语句错误,java,if-statement,syntax-error,Java,If Statement,Syntax Error,我总是在if-then-else语句中出错。我看不出是什么导致了这个错误。编译器一直告诉我删除else。我得到的错误是: 令牌上出现语法错误,请删除此令牌。java/java 代码/src/oop/10行259 Java问题 代码如下: public boolean onMySpace(MonsterTwo[] monster, int indexToChk1,int indexToChk2 ) { if( (monster[indexToChk1].xPosition) == (m

我总是在if-then-else语句中出错。我看不出是什么导致了这个错误。编译器一直告诉我删除else。我得到的错误是:

令牌上出现语法错误,请删除此令牌。java/java 代码/src/oop/10行259 Java问题

代码如下:

public boolean onMySpace(MonsterTwo[] monster, int indexToChk1,int indexToChk2 )
{
    if(   (monster[indexToChk1].xPosition) == (monster[indexToChk2].xPosition)
       && (monster[indexToChk1].yPosition) == (monster[indexToChk2].yPosition));
    {
        return true;
    } else {
        return false;
    }
}
删除分号;从if语句末尾开始

if((monster[indexToChk1].xPosition)== (monster[indexToChk2].xPosition)&&
        (monster[indexToChk1].yPosition)== (monster[indexToChk2].yPosition));
{

分号强制if完成语句,则else将挂起而不挂起if,if无效

如果您的if出现语法错误:

if((monster[indexToChk1].xPosition)== (monster[indexToChk2].xPosition)&&
        (monster[indexToChk1].yPosition)== (monster[indexToChk2].yPosition));
                                                      HERE -----------------^ 

你有一个额外的;在您的if测试之后,返回true;语句不在if块中,导致下面的else块出现语法错误。

作为补充说明,由于您计算布尔表达式只是为了返回结果,因此只需返回表达式本身即可。if在此处是多余的。感谢guys iv删除了分号,现在可以使用了。