все вопросы, которые я вижу, касаются использования возвращаемого значения, в то время как я хочу спросить о том, чтобы не использовать его.
У меня есть метод, который получает название книги и удаляет все книги с одинаковым названием из массива книг (библиотеки).
я написал другой метод, который получает название книги и удаляет первую книгу с таким же названием из массива (не завершено на 100%, потому что вопрос об этом):
public Book remove(String name)
{
Book bookRemoved= null;
for (int i=0; i<_noOfBooks; i++)
{
if (name.equals(_lib[i].getTitle()))
{
bookRemoved= new Book (_lib[i]);
_lib[i]=null;
closeGap();
}
}
return bookRemoved;
}
У меня есть еще один закрытый метод, цель которого - закрыть пробелы, созданные в массиве, и вернуть количество удаленных книг:
//counts the amount of books removed and closes the gaps casued by removing them
private int closeGap()
{
int count=0;
//number of nulls
for (int i=0; i<_noOfBooks;i++) //run throughout array to find # of
nulls
{
if (_lib[i]==null);
count++;
}
//closing gaps
for(int i=0; i<_noOfBooks-1;i++)
{
int nextCell=i+1;
while (_lib[nextCell]== null) //find the next cell after _lib[i]
that isn't null
nextCell++;
if (_lib[i]== null)
{
_lib[i]= _lib[nextCell]; //fill nulled cell with nextCell-
temporarily alliasing
_lib[nextCell]=null; //remove nectCell value -remove
alliasing
}
}
return count;
}
Когда я хочу использовать метод closeGap, я получаю возвращаемое значение 1, но я не могу найти способ использовать его для выхода из цикла for без принудительного его принудительного применения.
я должен использовать возвращаемое значение? есть ли способ вырваться из цикла, используя его?