Это код:Метод возвращает Int тип, но я получаю «этот метод должен возвращать результат типа междунар» ошибка
private int getUpSite(int i, int j){
if (i - 1 >= 1){
if (grid[i - 2][j] != 0){
return xyTo1D(i - 1, j);
}
}
else{
return -1;
}
}
В зависимости от значений I и J, возвращается метод - 1 или другое целое число, построенное методом xyTo1D. Проблема заключается в том, что компилятор продолжает жаловаться: «этот метод должен возвращать результат типа int».
Что не так с кодом? Как это исправить?
Это не хороший подход, чтобы использовать возврат на несколько блоков. Вместо этого мы должны использовать возвращаемую переменную уровня метода. Мы можем установить значение в этом. –
@ GV: В этом вопросе есть большие дебаты. Некоторым людям нравится возвращаться из того, что когда-либо делалось, некоторые хотели бы вернуться в конце метода. Чтобы быть откровенным, я не хочу вникать в эту дискуссию. Как я сказал в своем ответе, это один из возможных способов, и есть несколько способов решить одну проблему. – kosa
@ GV: Целая тема 20 или 30 лет. Не говорите мне, что кто-то воскресил его. Я думал, что это было разрешено, когда мы также решили, что методы должны быть короткими (что делает любой «возврат» заметным). Каковы аргументы обсуждения сейчас? –