Я продолжаю получать недостающую ошибку утверждения return, но я не знаю, где. Каждый раз, когда я следую коду, я чувствую, что хотя бы один из операторов if предоставляет оператор return.Отсутствует заявление о возврате
Код:
public User[] getUsersContaining(String query) {
User[]nameSearch = new User[this.capacity];
if(nameSearch == null)
return null;
for (int i=0; i<this.capacity; i++){
if(this.array[i].getName().contains(query)){
nameSearch[i]=this.array[i];
bubbleSort date2 = new bubbleSort();
date2.bubblesort(nameSearch);
return nameSearch;
}
}
}
Хорошо, я думаю, я понимаю что ты имеешь в виду. Если я поставлю оператор return в конце метода, это означает, что это будет окончательное возвращаемое значение? Когда я возвращаю null в конце метода, приложение выдает ошибку, поэтому я не знаю, что вернуть в противном случае. Когда я попробую else вернуть null после оператора if, я все равно получаю ошибку отсутствия возвращаемого выражения. Извините, я очень новичок в программировании. – user6036979
, если ваша функция предназначена для 'get ...' что-то, вы возвращаете то, что функция предназначена для «получения». Ваша функция называется «getUsersContaining», поэтому вы должны возвращать пользователей, которые содержат строку. – Carcigenicate
Ошибка возникает, потому что если 'this.capacity' == 0 и nameSearch! = Null, ваша функция ничего не вернет, так как она никогда не входит в цикл. – Carcigenicate