Перейти к контенту

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

Этот урок на Java для начинающих заключается в написании Java-программы, которая принимает данные от пользователя, находит максимальное и минимальное число и выводит их на консоль.

Цель этой статьи — научить получать данные от пользователя и использовать класс java.lang.Math для выполнения некоторых математических операций, например, чтобы найти максимальное и минимальное значения в Java.

 

Также есть другие 4 способа, которые с примерами кода даны ниже.

Мы можем использовать класс Scanner, добавленный в Java 1.5, для чтения пользовательского ввода с консоли. Сканеру нужен InputStream для чтения данных, и поскольку мы читаем с консоли, мы можем передать System.in, который является InputStream для консоли Eclipse, или командную строку в зависимости от того, что используется.

Этот класс также помогает преобразовать пользовательский ввод в требуемый тип данных, например если пользователь вводит числа, необходимо затем преобразовать их в тип данных int и сохранить их в переменной int. Можно использовать метод nextInt(), чтобы считать пользовательский ввод как Integer.

Точно так же можно использовать nextLine() для чтения ввода пользователя как String. Есть другие методы, доступные для чтения с плавающей точкой, двойного или логического значения из командной строки.

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

После этого можно использовать Math.max(), чтобы узнать максимум двух чисел, он должен совпадать с предыдущим результатом.

Максимум и минимум на примере

Пример программы состоит из двух частей. В первой части мы принимаем данные от пользователя, используем if block и реляционный оператор, чтобы найти максимальное значение в Java, и далее используем метод Math.max() для той же цели.

Во второй части программы мы попросим пользователя ввести еще два числа, а затем мы используем if блок, чтобы вычислить меньшее из двух. После этого мы снова используем функцию Math.min() для вычисления минимального числа. Если наша программа правильная, то оба результата должны быть выведены одинаковыми.

Java программа для нахождения максимума и минимума чисел

Мы можем запустить эту программу из Eclipse IDE, просто скопировав код после создания проекта. Eclipse автоматически создаст исходный файл с тем же именем, что и открытый класс, и поместит его в нужный пакет. Кроме того, также можно запустить эту программу из командной строки, следуя приведенным здесь шагам.

нахождение максимального и минимального значения

import java.util.Scanner; 
import java.util.concurrent.Semaphore; 
import java.util.concurrent.locks.Condition; 
import java.util.concurrent.locks.Lock; 
import java.util.concurrent.locks.ReentrantLock;
public class MaxMinExerciseInJava {
 public static void main(String args[]) throws InterruptedException { 
  Scanner scnr = new Scanner(System.in);
  // вычисляем максимум 2 чисел 
  System.out.println("Введите 2 числа");
  int a = scnr.nextInt(); 
  int b = scnr.nextInt();
  if (a > b) {
    System.out.printf("Between %d and %d, maximum is %d %n", a, b, a);
  } else {
    System.out.printf("Between %d and %d, maximum number is %d %n", a, b, b);
  }
  int max = Math.max(a, b);
  System.out.printf("Maximum value of %d and %d using Math.max() is %d %n", a, b, max);
  int x = scnr.nextInt(); 
  int y = scnr.nextInt();

  if (x < y) {
    System.out.printf("Between %d and %d, Minimum Number is %d %n", x, y, x);
  } else {
    System.out.printf("Between %d and %d, Minimum is %d %n", x, y, y); 
  }
  
  int min = Math.min(x, y);

  System.out.printf("Maximum value of %d and %d using Math.min() is %d %n", x, y, min)
 }

}

Вывод:
введите 2 числа
10
11
Between 10 and 11, maximum number is 11
Maximum value of 10 and 11 using Math.max() is 11
Please enter two numbers to find minimum of two
45
32
Between 45 and 32, Minimum is 32
Maximum value of 45 and 32 using Math.min() is 32

Из массива int

В этом примере мы находим максимальные и минимальные значения элемента из массива int на Java.

Читайте также как найти сумму и среднее значение элементов массива на Java

class MinMaxExample { 
 
  public static void main(String args[]){
    int array[] = new int[]{10, 11, 88, 2, 12, 120};
 
    // Вызов метода getMax () для получения максимального значения
    int max = getMax(array);
    System.out.println("Maximum Value is: "+max);
 
    // Вызов метода getMin () для получения минимального значения
    int min = getMin(array);
    System.out.println("Minimum Value is: "+min);
  }
 
  //здесь находим максимум
  public static int getMax(int[] inputArray){ 
    int maxValue = inputArray[0]; 
    for(int i=1;i < inputArray.length;i++){ if(inputArray[i] > maxValue){ 
         maxValue = inputArray[i]; 
      } 
    } 
    return maxValue; 
  }
 
  // здесь находим минимум
  public static int getMin(int[] inputArray){ 
    int minValue = inputArray[0]; 
    for(int i=1;i<inputArray.length;i++){ 
      if(inputArray[i] < minValue){ 
        minValue = inputArray[i]; 
      } 
    } 
    return minValue; 
  } 
}

Вывод:
Maximum Value is: 120
Minimum Value is: 2

Методы max и min

В пакете java.util.Collections есть методы max и min.

ArrayList list = new ArrayList<>();
list.add(12);
list.add(21);
list.add(111);

System.out.println(Collections.max(list));
System.out.println(Collections.min(list));

Используя цикл

Вносим в переменные min и max первый элемент из списка, запускаем цикл и сравниваем число на итерации с числом в переменных.

Если оно меньше, чем min, то присваиваем его min, иначе если больше, чем max — то это max.

ArrayList list = new ArrayList();
list.add(100);
list.add(-666);
list.add(666);

int min = list.get(0);
int max = list.get(0);

for (Integer i: list) {
    if(i < min) min = i; if(i > max) 
        max = i;
}

System.out.println("минимальное число: " + min);
System.out.println("максимальное число: " + max);

С помощью Collections.sort взять первый и последний из списка

Отсортируем список с помощью Collections.sort, теперь в этом списке первый элемент — это maximum,а последний будет minimum:

Collections.sort(list);

System.out.println(list.get(0));
System.out.println(list.get(list.size() - 1));

Оцени статью

Средняя оценка / 5. Количество голосов:

Спасибо, помогите другим - напишите комментарий, добавьте информации к статье.

Или поделись статьей

Видим, что вы не нашли ответ на свой вопрос.

Помогите улучшить статью.

 

Пока нет комментариев.

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

Ваш e-mail не будет опубликован.

СайдбарКомментарии (0)