2014-10-27 3 views
-1
private byte isTargetEast(IRobot robot) { 

byte resultE = 0; 
if (robot.getLocation().x > robot.getTargetLocation().x) { 
    resultE = -1; 
} else if (robot.getLocation().x < robot.getTargetLocation().x) { 
    resultE = 1; 
} else { 
    resultE = 0; } 
return resultE; 

// returning 1 for 'yes', -1 for 'no' and 0 for 'same latitude'. 



} 

содержит ошибки «erro: незаконный запуск выражения» и «ошибка»; ожидается, всего 6 ошибок, 2 незаконных запуска, 4semicolons, все на частной строке байтаОшибка Java: не утверждение if-else

+5

Похоже, что вы хотите делать задание, а у вас есть логическое условие. Удалите && и круглые скобки, разделите каждое задание точкой с запятой. –

+0

Вы ничего не делаете с логическим значением тела if/else, то есть проблема – engineercoding

+0

@SteBra, о которой вы говорите? – f1sh

ответ

1

Синтаксис if-условия совершенно неверен. Что ты хочешь делать? Вы смешиваете код назначения и условия.

Вы можете сделать назначение, как это:

if (chanceDir >= 0.5) { 
    Dir = IRobot.AHEAD; 
    Vir = IRobot.BEHIND; 
    Hir = IRobot.AHEAD; 
    Sir = IRobot.BEHIND; 
} else { 
    Dir = IRobot.RIGHT; 
    Vir = IRobot.LEFT; 
    Hir = IRobot.LEFT; 
    Sir = IRobot.RIGHT; 
} 

if (oppchanceDir >= 0.5) { 
    Dir = IRobot.BEHIND; 
    Vir = IRobot.AHEAD; 
    Hir = IRobot.BEHIND; 
    Sir = IRobot.AHEAD; 
}else { 
    Dir = IRobot.LEFT; 
    Vir = IRobot.RIGHT; 
    Hir = IRobot.RIGHT; 
    Sir = IRobot.LEFT; 
} 

Или вы можете сделать проверку условия так:

if (chanceDir >= 0.5 && ((Dir == IRobot.AHEAD) && (Vir == IRobot.BEHIND) && (Hir == IRobot.AHEAD) && (Sir == IRobot.BEHIND))) { 
    // do something here 

}else if((Dir == IRobot.RIGHT) && (Vir == IRobot.LEFT) && (Hir == IRobot.LEFT) && (Sir == IRobot.RIGHT)){ 
    // do something here 
}else{ 
    // do something here 
} 

if (oppchanceDir >= 0.5 && ((Dir == IRobot.BEHIND) && (Vir == IRobot.AHEAD) && (Hir == IRobot.BEHIND) && (Sir == IRobot.AHEAD))) { 
    // do something here 

} else if ((Dir == IRobot.LEFT) && (Vir == IRobot.RIGHT) && (Hir == IRobot.RIGHT) && (Sir == IRobot.LEFT)) { 
    // do something here 
}else{ 
    // do something here 
} 
+0

Я пытаюсь изменить значение для группы переменных при одном условии. и да, логическое использование было глупо: D спасибо – necrokamios

+0

EDIT: Я попробовал первое задание, которое вы предложили, но оно по-прежнему выходит с ошибкой: не утверждение ' – necrokamios

+0

Можете ли вы показать свой перечислитель. На какой линии появляются эррос? – Mosa

Смежные вопросы