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

Как найти наибольшее число в массиве 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)); 

4.6. Java примеры – Как найти минимальное и максимальное число в массиве

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

Решение

В этом примере показано, как найти минимальное и максимальное число в массиве в Java с помощью методов Collection.max() и Collection.min() класса Collection.

import java.util.Arrays; import java.util.Collections; public class Main < public static void main(String[] args) < Integer[] numbers = < 8, 2, 7, 1, 4, 9, 5>; int min = (int) Collections.min(Arrays.asList(numbers)); int max = (int) Collections.max(Arrays.asList(numbers)); System.out.println("Минимальное число: " + min); System.out.println("Максимальное число: " + max); > > 

Результат

Вышеприведенный пример кода даст следующий результат:

Минимальное число: 1 Максимальное число: 9 

Еще один пример поиска минимального и максимального элементов в массиве.

public class HelloWorld < public static void main(String[] args) < int numbers[] = new int[]; int s = numbers[0]; int l = numbers[0]; for(int i = 1; i < numbers.length; i++) < if(numbers[i] >l)l = numbers[i]; else if (numbers[i] < s)s = numbers[i]; >System.out.println("Максимум: " + l); System.out.println("Минимум: " + s); > > 

Вышеприведенный пример кода даст следующий результат:

Максимум: 9 Минимум: 1 

Оглавление

  • 1. Java примеры – Использование кода на практике
  • 2. Java примеры – Окружающая среда
  • 2.1. Java примеры – Скомпилировать файл
  • 2.2. Java примеры – Установить путь к нескольким классам
  • 2.3. Java примеры – Отладка java-файла
  • 2.4. Java примеры – Установить путь к классу
  • 2.5. Java примеры – Просмотреть текущий путь класса
  • 2.6. Java примеры – Установить назначение файла класса
  • 2.7. Java примеры – Запустить скомпилированный java-файл класса
  • 2.8. Java примеры – Узнать версию Java
  • 2.9. Java примеры – Установить путь к классу в .jar-файле или .zip-файле
  • 3. Java примеры – Строки
  • 3.1. Java примеры – Сравнить две строки
  • 3.2. Java примеры – Найти последнее вхождение подстроки внутри подстроки
  • 3.3. Java примеры – Удалить нужный символ из строки
  • 3.4. Java примеры – Заменить символ в строке
  • 3.5. Java примеры – Вывод в обратном порядке
  • 3.6. Java примеры – Нахождение символа или слова в строке
  • 3.7. Java примеры – Разбиение строки на слова и символы
  • 3.8. Java примеры – Преобразование строки в верхний регистр
  • 3.9. Java примеры – Найти слово в строке
  • 3.10. Java примеры – Сравнить производительность создания строки
  • 3.11. Java примеры – Оптимизировать создание строк
  • 3.12. Java примеры – Форматирование строк
  • 3.13. Java примеры – Конкатенация строк
  • 3.14. Java примеры – Определить код Юникода символа в строке
  • 3.15. Java примеры – Буферизация строк
  • 4. Java примеры – Массивы
  • 4.1. Java примеры – Сортировка массива и поиск элемента
  • 4.2. Java примеры – Метод сортировки массива, вставить элемент в массив
  • 4.3. Java примеры – Размер двумерного массива
  • 4.4. Java примеры – Обратный порядок массива, переворачиваем массив
  • 4.5. Java примеры – Как выводить массивы и двумерные массивы в консоль
  • 4.6. Java примеры – Найти максимальный и минимальный элемент массива
  • 4.7. Java примеры – Соединить два массива в один
  • 4.8. Java примеры – Как заполнить массив числами
  • 4.9. Java примеры – Увеличить массив после инициализации
  • 4.10. Java примеры – Сравнение двух массивов
  • 4.11. Java примеры – Удаление элемента из массива
  • 4.12. Java примеры – Удаление массива из другого массива
  • 4.13. Java примеры – Одинаковые элементы массивов
  • 4.14. Java примеры – Поиск в массиве
  • 4.15. Java примеры – Равенство двух массивов
  • 4.16. Java примеры – Сравнить массивы
  • 5. Java примеры – Дата и время
  • 5.1. Java примеры – Форматирование времени в формате AM-PM
  • 5.2. Java примеры – Получение названия и номера текущего месяца
  • 5.3. Java примеры – Получить текущее время в часах и минутах
  • 5.4. Java примеры – Вывести текущее время и дату
  • 5.5. Java примеры – Вывести текущее время в 24-часовом формате
  • 5.6. Java примеры – Получить текущий месяц
  • 5.7. Java примеры – Получить текущие секунды
  • 5.8. Java примеры – Получить короткое название месяца
  • 5.9. Java примеры – Получить день недели
  • 5.10. Java примеры – Добавление времени к дате
  • 5.11. Java примеры – Отображение времени в формате другой страны
  • 5.12. Java примеры – Отображение времени на разных языках
  • 5.13. Java примеры – Прокрутить часы и месяцы
  • 5.14. Java примеры – Получить номер недели и месяц в году
  • 5.15. Java примеры – Форматы текущей даты
  • 6. Java примеры – Методы
  • 6.1. Java примеры – Перезагрузка методов
  • 6.2. Java примеры – Вывод массива с использованием метода
  • 6.3. Java примеры – Решение Ханойской башни
  • 6.4. Java примеры – Последовательность чисел Фибоначчи
  • 6.5. Java примеры – Вычисление факториала числа
  • 6.6. Java примеры – Переопределение метода
  • 6.7. Java примеры – Вывод массива с использованием метода
  • 6.8. Java примеры – Использование оператора break
  • 6.9. Java примеры – Использование оператора continue
  • 6.10. Java примеры – Использование метки в методе
  • 6.11. Java примеры – Использование операторов enum и switch
  • 6.12. Java примеры – Использование конструктора enum

Найти наибольшее значение в массиве с помощью for..of

Пожалуйста, исправьте вопрос, чтобы он отражал конкретную проблему с достаточным количеством деталей для возможности дать адекватный ответ.

Commented 28 авг 2021 в 12:22

3 ответа 3

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

Допущено три ошибки:

  • взятие значения из массива по индексу текущего значения ( arr[i] — в начальном коде i уже содержит значение на текущей итерации, т.е. не надо его в качестве индекса использовать)
  • в ветвлении прописано условие «наоборот», почти ровно противоположное условию задачи (используется проверка max > i , хотя предполагается i > max )
  • инициализация max нулем, что приведет к некорректным результатам при наличии в массиве отрицательных чисел (надежнее будет использовать наименьшее числовое значение — отрицательной бесконечности, -Infinity )

Исправленный код решения:

let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; let max = -Infinity; for (let num of arr) < if (num >max) < max = num; >> console.log(max);

Главное что нужно понимать в контексте вопроса: цикл for..of перебирает именно значения в итерируемой коллекции, а не их числовые индексы (ключи).

Отслеживать
ответ дан 28 авг 2021 в 14:21
11k 1 1 золотой знак 13 13 серебряных знаков 35 35 бронзовых знаков

И еще ошибка в выборе чисел для проверки и в том, что они отсортированы))) Именно поэтому использование arr[i] не бросается в глаза, а, например, for(max of arr)<> вернет правильный результат)))

Commented 28 авг 2021 в 15:04

@Leonid, ну отчасти это верно, хотя входной массив частью решения конечно не является. Надо бы подчеркнуть это отступом 🙂 Обычно в подобных задачах берется случайный массив, чтобы попутно научить и заполнению этой структуры данных. но наверное, авторы уроков по JS уже совсем деградировали за последние годы, и все упростилось до предела.

Commented 28 авг 2021 в 15:10

Собственно, ухудшение качества учебных материалов в рунете имхо началось с тех пор как ув. Кантор забил на свой учебник, который раньше был топовым. А преемников что-то не появляется (для качественного учебного контента требуется «академический» программист в качестве автора, а они видимо слишком востребованы и заняты чтобы знание в массы нести).

Commented 28 авг 2021 в 15:31

В последнее время как раз наблюдаю появление хорошей литературы (не онлайн-учебников) по темам, резкие изменения в которых произошли за последние 10 лет: HTML5, HTTP/2, ES6/ES7, CSS3, WASM, PWA, WebComponents, ShadowDOM . и так далее. А то хайпожоры в первые месяцы появления технологий накидали быстрых работ, где сами не разобрались ни как работает, ни с поддержкой, ни с хорошей практикой использования. Потом какой-то провал был и вот теперь выходят интересные, системные работы.

Commented 28 авг 2021 в 15:40

@Leonid, относительно бумажных носителей, я совсем не осведомлен — хорошо если там все иначе (ясно что «классики» издаются и по сей день, но молодняку они неинтересны, вот в чем проблемка-то). «хайпожоры в первые месяцы появления технологий накидали быстрых работ» — это да, и еще безудержный копипаст друг у друга, причем копипастится все подряд, без оценочного суждения в плане качества материалов 🙂

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

Как я могу найти наибольшее число из чисел, которые я ввел в массив?

это вещи, которые я уже попробовал:

var largest = Math.max.apply(Math, number[i]); var smallest = Math.min.apply(Math, number[i]); 

Поделиться Источник 09 сентября 2012 в 20:40

6 ответов

Вы очень близки:

Math.max.apply(Math, number); 

Вам нужно передать все элементы массива в метод max() ; [i] здесь не имеет смысла.

Поделиться 09 сентября 2012 в 20:42

Math.max.apply — это опция, как сказано в других ответах, но я думаю, что reduce более распространен среди языков:

var number=[1,2,3,2,1,1]; number.reduce(function(a,b)b ? a : b;>); // returns 3 Math.max.apply(Math.max, number); // returns 3 

Поделиться 09 сентября 2012 в 20:56

var max = number[0], i = 0; for (i = 0; i < n; ++i) < if (number[i] >max) < max = number[i]; >> 
var max = _.max(number); 

Поделиться 09 сентября 2012 в 20:44

Вы близки, попробуйте это:

Math.max.apply(Math.max, number); 

То есть, второй аргумент преобразует массив в список аргументов.

(На самом деле, так как Math.max никогда не нуждается в этом, вам не нужен первый аргумент apply; поэтому Math.max.apply(null, number) или Math.max.apply(‘aaaaahhh’, number) также работает.)

Поделиться 09 сентября 2012 в 20:42

Использование — Array.prototype.reduce() — это круто!

[267, 306, 108].reduce((acc,val)=> (acc>val)?acc:val)

где acc = аккумулятор и val = текущее значение ;

Поделиться 12 апреля 2017 в 06:25

function compare(a, b) < if (a >b) return 1 else if (a < b) return -1 else return 0 >var arr = [ 1, 2, 15, 12.5, 16, 3.35 ] arr.sort(compare) alert( arr[2] ) // your n number // i used sort() but because by default it sorting in lexicographical order i passed it throuth custom comparisom , it works fine for me 

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

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