Во многих языках программирования вы можете вернуться из любой точки метода. Компилятор, вероятно, жалуется, потому что не может быть уверен, что он найдет правильное значение в цикле, и тогда ему нечего будет возвращать (даже если вы, как разработчик, уверены, что он вернется до выхода из цикла).
Так что да, добавление некоторого возврата по умолчанию в конце является правильным решением, а -1
является распространенным ответом по умолчанию для такого рода вещей.