2014-09-04 3 views
0

Я продолжаю получать ошибки с помощью инструкции if then else. Я не могу понять, что вызывает ошибку. Компилятор продолжает сообщать мне удалить else. Ошибка я получаю:Ошибка выражения if else

Синтаксическая ошибка в знак "другой", удалите этот маркер MonsterTwo.java/Java код/​​SRC/OOP/десять линии 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; 
    } 
} 
+0

В качестве побочного примечания, поскольку вы вычисляете логическое выражение только для возврата результата, вы можете просто вернуть само выражение (здесь 'if' здесь избыточно). –

+0

Спасибо, ребята, удалили точку с запятой и теперь ее работали. – user3147200

ответ

4

удалить точку с запятой ; от в конце, если заявление

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

точка с запятой силы if завершить заявление, то вы бы else висит без if, который является недействительным

2

У вас есть синтаксические ошибки на Вашем если:

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

У вас есть дополнительный ; после того как ваш, если тест , поэтому оператор return true; не находится в блоке if, вызывая синтаксическую ошибку с блоком else ниже.