Проблема в том, что вы устанавливаете smallest
только тогда, когда вы не нашли новый самый большой элемент при обходе массива элементов.Поэтому вместо else
измените его на другой оператор if, чтобы увидеть, меньше ли элемент, по которому вы выполняете итерацию, меньше, чем ваш текущий наименьший элемент, например:
if(largest < items[i])
{
largest = items[i];
}
if(smallest > items[i])
{
smallest = items[i];
}
Кроме того, вы инициализируете smallest
и largest
к первому элементу в items
, который по умолчанию будет равен 0, поскольку массив элементов в этой точке пуст.Попробуйте инициализировать largest
наименьшей возможной оценкой, а smallest
- наименьшей возможной оценкой, например, так (в настоящее время используются минимальное и максимальное целочисленные значения),
int largest=Integer.MIN_VALUE,smallest=INTEGER.MAX_VALUE;
Причина в том, что выникогда не найдете оценку ниже 0, и поскольку это то, что у вас было раньше, наименьшая оценка всегда была бы 0.