В вашем методе вы должны указать return
переменную в каждом случае (для каждого оператора if
), в данном случае булево.
Пример:
boolean checkHit2() {
if (cx < 0 || cx >= 640) {return true;}
if (cy < ground[(int)cx]) {return false;}
if (cx < blue + 15 && cx > blue - 15){
score = (int)score + 1;
return false;
}
Кроме того, только чтобы очистить ваш код немного, фигурные скобки не нужны, если содержимое блока только одна строка. Например, вы можете использовать:
boolean checkHit2() {
if (cx < 0 || cx >= 640) return true;
if (cy < ground[(int)cx]) return false;
if (cx < blue + 15 && cx > blue - 15){
score = (int)score + 1;
return false;
}
Функционально они действуют одинаково. Это просто полезный ярлык для очистки вашего кода :).
В этом примере я просто вернул false, потому что я застрахован от функциональности вашей программы или того, как вы хотите, чтобы она работала. Вы можете вернуть значение на основании заявления if
или else
и т. Д., Но это зависит от вас и от того, что вы хотите от своей программы.
Чтобы узнать больше о return
, click here
Этот код даже не будет _compile_. Можете ли вы переписать полный метод? –
Конечно, он не компилируется, вот что спрашивает OP, почему он/она получает ошибку «Этот метод должен возвращать результат типа boolean», когда он/она пытается его скомпилировать. –