Как найти минимальный элемент массива java
Перейти к содержимому

Как найти минимальный элемент массива java

  • автор:

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

В Java 8 и выше можно использовать потоки streams для нахождения минимального числа в массиве. Для этого можно использовать метод min() класса java.util.stream.IntStream , который возвращает минимальное значение в потоке.

int[] numbers = 10, 20, 30, 40, 50>; int min = Arrays.stream(numbers).min().getAsInt(); System.out.println("Минимальное число: " + min); 

Здесь мы создаем поток из массива numbers с помощью метода Arrays.stream() , а затем вызываем метод min() для нахождения минимального значения. Метод min() вернет объект OptionalInt , поэтому мы вызываем метод getAsInt() для получения примитивного значения int

05 апреля 2023

Для нахождения минимального числа в массиве можно использовать цикл, проходящий по всем элементам массива и сохраняя минимальное значение в отдельную переменную. Вот пример кода:

public static int findMin(int[] arr)  int min = arr[0]; for (int i = 1; i  arr.length; i++)  if (arr[i]  min)  min = arr[i]; > > return min; > 

В данном примере функция findMin принимает в качестве аргумента массив целых чисел arr и возвращает минимальное число в массиве.

  • Переменная min инициализируется значением первого элемента массива arr[0] .
  • Затем происходит цикл по всем элементам массива, начиная со второго элемента arr[1] .
  • Если текущий элемент меньше переменной min , ей присваивается значение текущего элемента.
  • По завершении цикла возвращается значение переменной min .

Найти минимальный элемент среди элементов массива

Найти минимальный элемент среди элементов массива А = <-5 ; 16 ; 4 ; 0,5 ; 12 ; -3 ; 2 ; 5 ; 13>, значения которых строго больше трех.
Собственно с созданием массива проблем нет, вывести все элементы, значения которых строго больше трех могу, а вот на поиске минимального застыл.

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Найти минимальный элемент массива и поменять его местами с первым элементом
Можите помочь сделать одномерный массив , (размером больше 5) с натуральными числами . Надо найти.

Найти количество удвоенных нечетных чисел среди элементов массива
Даны целые числа а1,а2. . Известно что а1>0 и что среди а2,а3, . есть хотя бы одно.

Среди отрицательных элементов массива найти такие, значения которых максимально
Ребят, как можно проще всего решить эту задачку? Может найдутся добрые люди, кто сможет написать.

Регистрация: 11.06.2011
Сообщений: 206

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
public class MinMaxArray { public static void main(String[] args){ int [] loc = {25, 11, 250, 5}; int max = loc[0]; int min = loc[0]; for(int i = 0; i != loc.length; i ++){ if(loc[i] > max){ max = loc[i]; } if(loc[i]  min){ min = loc[i]; } } System.out.println(min + " " + max); } }

Регистрация: 06.03.2015
Сообщений: 3

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
public class MyFirstArray { public static void main(String[] args){ int [] loc = {25, 11, 250, 5}; int min = loc[0]; for(int i = 0; i != loc.length; i ++){ if(min>loc[i]); min = loc[i]; } System.out.println(min + " "); } }

Poprobyj tak
27 / 27 / 24
Регистрация: 23.04.2011
Сообщений: 64

1 2 3 4 5 6 7 8 9 10
public class FindMin { public static void main(String args[]) { int a[] = {-1,-2,-3,-4,-5,0,1,2,3,4,5}; int min = a[0]; for(int x: a) { if(x  min) min = x; } System.out.println("Minimal element: " + min); } }

Эксперт Java

2398 / 2223 / 565
Регистрация: 28.12.2010
Сообщений: 8,672

ie2030, Igor100, даже если не взирая на дату поста вам очень хочется написать свое решение, потрудитесь прочитать поставленную задачу.

Регистрация: 06.03.2015
Сообщений: 3
Регистрация: 11.06.2015
Сообщений: 3
Автору решение задачи скорее всего уже не актуально, но все же пусть будет.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
int[] a = {-5, 16, 4, 0, 5, 12, -3, 2, 5, 13}; // Сортируем массив Arrays.sort(a); // Перебираем элементы. Когда находим первый больший 3, выходим. for (int i = 0; i  a.length; i++) { if (a[i] > 3) { System.out.println("Минимальный элемент из элементов, которые больше 3: " + a[i]); break; } } // Еще один вариант int j = 0; int min = 0; do { min = a[j]; j++; } while (min  3); System.out.println("Минимальный элемент из элементов, которые больше: " + min);

2883 / 2295 / 769
Регистрация: 12.05.2014
Сообщений: 7,978

— форматирование не по конвенции
— думаешь ты открыл всем глаза, когда заюзал Arrays.sort() ?
— magic numbers в коде
— вывернутый наизнанку do-while, который неудобно понимать и читать

зы: да и сам цикл мне кажется работать правильно не будет

Регистрация: 11.06.2015
Сообщений: 3

ок, насчет do. while согласен, при отсутствии элементов больше 3 будет ошибка.

Издание 2-е, дополненное и исправленное.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
int[] a = {-5 ; 16 ; 4 ; 0,5 ; 12 ; -3 ; 2 ; 5 ; 13}; // Сортируем массив Arrays.sort(a); boolean hasMoreThen3 = false; // Перебираем элементы. Когда находим первый больший 3, выходим. for (int i = 0; i  a.length; i++) { if (a[i] > 3) { hasMoreThen3 = true; System.out.println("Минимальный элемент больший 3: " + a[i]); break; } } if (!hasMoreThen3) System.out.println("Такого элемента нет");

Для сортировки массива можешь свой алгоритм писать, нравится таскать камни вместо того, чтобы вызвать погрузчик — вперед.
Остальное лишь смешное проявление твоего ЧСВ.

Как найти минимальное значение в массиве в Java? [закрыт]

Закрыт. Этот вопрос необходимо уточнить или дополнить подробностями. Ответы на него в данный момент не принимаются.

Хотите улучшить этот вопрос? Добавьте больше подробностей и уточните проблему, отредактировав это сообщение.

Закрыт 5 лет назад .
Есть массив чисел[1,4,-2,3]. Как найти минимальное значение в массиве??
Отслеживать
1,541 1 1 золотой знак 9 9 серебряных знаков 22 22 бронзовых знака
задан 29 сен 2018 в 17:47
Santa Murphy Santa Murphy
11 1 1 золотой знак 1 1 серебряный знак 3 3 бронзовых знака

3 ответа 3

Сортировка: Сброс на вариант по умолчанию

По-всякому, например так:

 var nums = new int[] ; var min = Arrays.stream(nums).min(); System.out.println(min.isPresent() ? min.getAsInt() : "empty array"); 
 var nums = new int[] ; var min = Collections.min(Arrays.stream(nums).boxed().collect(Collectors.toList())); System.out.println(min); 
 var nums = new int[]; var min = nums[0]; for (int num : nums) < if (num < min) < min = num; >> System.out.println(min); 

Отслеживать
ответ дан 29 сен 2018 в 18:25
Ростислав Красный Ростислав Красный
2,183 6 6 серебряных знаков 18 18 бронзовых знаков
var здесь из какого языка?
29 сен 2018 в 19:10
@Эникейщик Из Java 10
29 сен 2018 в 19:12

Я бы сделал это более понятным способом:

int min = a[0] + 1; for(int i = 0; i < mass.length; i++) < if (a[i]< min) < min = a[i]; >System.out.println(min); > 

Проходим по массиву, каждый элемент сравниваем с наименьшим.

Отслеживать
ответ дан 30 сен 2018 в 8:24
michael_best michael_best
1,541 1 1 золотой знак 9 9 серебряных знаков 22 22 бронзовых знака

Зачем к a[0] прибавлять единицу? В этом нет никакого смысла. Чем этот код понятнее третьего варианта в моём ответе? Так же обратите внимание, что лишь первый вариант, из моего ответа, корректно работает с пустым массивом. При этом он самый простой.

30 сен 2018 в 12:24
Для меня — а я студент — первый вариант вообще не был понятен. И что выведет при пустом массиве?
30 сен 2018 в 16:51
Да и цикл for ech (лично для меня) не так понятен.
30 сен 2018 в 16:51

При пустом массиве первый вариант моего решения выведет «empty array». Второй вариант моего решения упадёт с NoSuchElementException . Третий варианты моего решения, а так же ваше решение упадут с ArrayIndexOutOfBoundsException . В первом варианте моего решения из массива чисел создаётся IntStream , в котором есть метод min() , умеющий находить минимальное значение. Поскольку минимальное значение существует не всегда метод min() возвращает объект обёртку OptionalInt . В дальнейшем у этого объекта можно спросить isPresent() а есть ли там настоящий результат.

Найти минимальный и максимальный элементы в массиве в Java

В этом посте будет обсуждаться, как найти минимальный и максимальный элемент в массиве в Java.

1. Использование списка

Если данный массив не является примитивным массивом, мы можем использовать Arrays.asList() который возвращает список, поддерживаемый массивом. Затем мы вызываем min() а также max() методы Collections class для получения минимального и максимального элементов соответственно. Обратите внимание, что при этом не выполняется фактическое копирование элементов массива.

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

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