Перейти к содержимому

Как найти максимальное значение в массиве java

  • автор:

Максимальное число из всех элементов массива

И необходимо найти максимальное число из этого массива. Как это сделать?

Отслеживать

задан 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 и возвращает максимальный элемент в массиве. Вы можете вызвать этот метод и передать ему ваш массив для нахождения максимального значения.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *