How to calculate Maximum and minimum in Java? Beginner Tutorial

Today's programming exercise for a beginner is to write a Java program to take input from the user and find out maximum and minimum number and print them into the console. The purpose of this article is to teach you how to get input from a user in Java and how to use java.lang.Math class to perform some mathematical operation e.g. max, min or average. You can use Scanner class, added in Java 1.5 to read user input from the console. Scanner needs an InputStream to read data and because you are reading from the console, you can pass, which is InputStream for Eclipse console, or command prompt, depending upon what you are using. This class also helps you to convert user input into requiring data type e.g. if a user enters numbers then you must convert then into int data type and store them into int variable as shown in our example. You can use nextInt() method to read user input as Integer.

Similarly, you can use nextLine() to read user input as String. There are other methods available to read a float, double, or boolean from the command prompt. Once you got both the numbers, it just matters of using relational operator less than and greater than to find smaller and larger number, as shown in the following the example.

After that you can Math.max() to find the maximum of two numbers, it should be same as your earlier result. Similarly, we will ask User to enter the number again and will display a minimum of two.

Maximum and Minimum Example in Java

Our example program has two parts. In the first part, we take input from a user, uses if block and relational operator to find maximum value and further used Math.max() method for the same purpose. In the second part of the program, we have asked the user to enter two more numbers and then we use less than the operator and if block to find smaller of two. After that, we have used Math.min() function to calculate minimum number again. If your program is correct then both output should be same.

I also suggest you to read Head First Java 2nd Edition book, if you have just started learning Java. It is one of the best books to learn Java in quick time.

calculating maximum and minimum in Java program

Java Program to calculate Maximum and Minimum of Numbers

Here is our sample Java program to calculate and print maximum and minimum of two numbers entered by the user in command prompt. You can run this program from Eclipse IDE by just copy pasting after creating a Java project and selecting it. Eclipse will automatically create a source file with the same name as the public class and put it right package. Alternatively, you can also run this program from the command prompt by following steps given here.
Finding maximum and minimum in Java with example

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;

 * Java program to calculate Maximum and minimum of two numbers entered by user in console.
 * @author Javin Paul
public class MaxMinExerciseInJava {

    public static void main(String args[]) throws InterruptedException {

        Scanner scnr = new Scanner(;

        // Calculating Maximum two numbers in Java
        System.out.println("Please enter two numbers to find maximum of two");

        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);

        // Calculating Minimum between two numbers in Java
        System.out.println("Please enter two numbers to find minimum of two");

        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);


Please enter two numbers to find maximum of two
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
Between 45 and 32, Minimum is 32
Maximum value of 45 and 32 using Math.min() is 32

That's all about how to calculate maximum and minimum of two numbers in Java. In this tutorial, you have learned how to get input from the user, how to use a relational operator to compare two numbers, and how to use java.lang.Math class to perform common mathematical operation e.g. finding maximum and minimum of two numbers. If you have started learning Java in school or any training center, I suggest you to keep a copy of Head First Java or Core Java Volume 1 by Cay S. Horstmann for your own reference, those are two great Java books for beginners.

Further Learning
The Coding Interview Bootcamp: Algorithms + Data Structures
Data Structures and Algorithms: Deep Dive Using Java
Algorithms and Data Structures - Part 1 and 2


  1. Write c++ program to read name, account number and balance amount in the account of 5 customers by using array of structures and then perform the following according to the user choice
    1-display the amount in their account
    2- withdrawal the amount from their account
    3- display the name, account number and balance of the customers

  2. How can you calculate int min and int max by reading values from input.nextInt() without using Integer.Max_VALUE or Integer.MIN_VALUE; My output should be this.
    System.out.println("The smallest value entered was: " + min);
    System.out.println("The largest value entered was: " + max);
    System.out.println("The range of the values was: " + (max - min));
    System.out.println("The sum of values entered was: " + total);
    System.out.println("The number of values entered was: " + ((int)(counter-1)));
    System.out.println("The average of the values entered was: " + (double)total / (counter-1));
    My smallest value is always 0 because 0 is a sentinel to exit.
    Thank you.