Максимальное число из всех элементов массива
И необходимо найти максимальное число из этого массива. Как это сделать?
Отслеживать
задан 24 дек 2016 в 11:33
303 1 1 золотой знак 3 3 серебряных знака 12 12 бронзовых знаков
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Integer[] age = ; Arrays.sort(age, Collections.reverseOrder()); System.out.println(age[0]);
int[] age = ; List list = Arrays.asList(ArrayUtils.toObject(age)); System.out.println(Collections.max(list));
C использованием Java 8
int[] age = ; OptionalInt max = Arrays.stream(age).max(); System.out.println(max.getAsInt());
с использованием org.apache.commons.lang3.math.NumberUtils; (Apache Commons)
int[] age = ; System.out.println(NumberUtils.max(age));
Как найти максимальное значение в массиве java
Чтобы найти максимальное значение в массиве необходимо пройтись по всем элементам в цикле, каждый раз сравнивая промежуточный максимум с очередным элементом массива. Если элемент в массиве больше промежуточного максимума, то нужно сохранить новое значение, как новый промежуточный максимум.
int[] arr = 10, 7, 1, 4, 7, 4, 11>; // Предположим, что нулевой элемент максимальный int max = arr[0]; // В цикле начинаем с первой ячейки for (int i = 1; i arr.length; i++) if (arr[i] > max) max = arr[i]; > > System.out.println(max); // => 11
Найти максимальный элемент в массиве из сгенерированных чисел
Создайте массив из 12 случайных целых чисел из отрезка [-15;15]. Определите какой элемент является в этом массиве максимальным и сообщите индекс его последнего вхождения в массив.
Решение:
public class Test < public static void main ( String [ ] args ) < int [ ] mas = new int [ 12 ] ; int maxNumber = - 16 ; int maxIndex = 0 ; for ( int i = 0 ; i < mas . length ; i ++ ) < mas [ i ] = ( int ) ( Math . random ( ) * 31 ) - 15 ; if ( maxNumber < = mas [ i ] ) < maxNumber = mas [ i ] ; maxIndex = i ; System . out . println ( "Индекс максимального элемента: " + maxIndex ) ;
Комментарии к задаче:
Создаем целочисленный массив на 12 элементов
int [ ] mas = new int [ 12 ] ;
Создаем переменную, которая будет хранить максимальное значение в массиве. Исходя из диапазона, минимально сгенерированное число, может быть — 15. Поэтому кладем в переменную число на 1 меньше минимального, то есть -16.
int maxNumber = — 16 ;
Создаем переменную, которая будет хранить индекс последнего вхождения максимального элемента:
int maxIndex = 0 ;
Далее пишем цикл, который сначала генерирует новый элемент массива, а потом смотрит, не максимальный ли он:
for ( int i = 0 ; i < mas . length ; i ++ ) < mas [ i ] = ( int ) ( Math . random ( ) * 31 ) - 15 ; if ( maxNumber < = mas [ i ] ) < maxNumber = mas [ i ] ; maxIndex = i ;
Как видите, в цикле мы генерируем число в диапазоне от -15 до 15 включительно. Как это сделать, смотрите в статье «Генерация случайных чисел в Java»
Если сгенерированное число больше или равно максимальному, то обновить максимальное число и его индекс:
if ( maxNumber < = mas [ i ] ) < maxNumber = mas [ i ] ; maxIndex = i ;
И далее выводим индекс последнего вхождения максимального элемента в консоль
System . out . println ( «Индекс максимального элемента: » + maxIndex ) ;
- ← Java 8 CompletableFuture. Часть 3 — Конец
- Java 8 Default и Static методы →
Как найти максимальное число в массиве java
В Java 8 и выше можно использовать потоки streams для нахождения максимального числа в массиве. Для этого можно использовать метод max() класса java.util.stream.IntStream , который возвращает максимальное значение в потоке.
int[] numbers = 10, 20, 30, 40, 50>; int max = Arrays.stream(numbers).max().getAsInt(); System.out.println("Максимальное число: " + max);
Здесь мы создаем поток из массива numbers с помощью метода Arrays.stream() , а затем вызываем метод max() для нахождения максимального значения. Метод max() вернет объект OptionalInt , поэтому мы вызываем метод getAsInt() для получения примитивного значения int
05 апреля 2023
Чтобы найти максимальное число в массиве, можно использовать цикл для прохода по всем элементам и сравнения каждого элемента с текущим максимальным значением. Начальное значение максимального элемента можно установить как первый элемент массива, а затем в цикле сравнивать оставшиеся элементы с текущим максимальным значением и обновлять максимальный элемент, если текущий элемент больше. Вот как можно реализовать эту логику:
public static int findMax(int[] arr) int max = arr[0]; // начальное значение максимального элемента for (int i = 1; i arr.length; i++) if (arr[i] > max) max = arr[i]; > > return max; >
Этот метод принимает в качестве аргумента массив arr и возвращает максимальный элемент в массиве. Вы можете вызвать этот метод и передать ему ваш массив для нахождения максимального значения.