How to find the median among three given numbers in Java

1 Answer

0 votes
public class MedianOfThree {

    /**
     * Computes the median of three integers.
     * The median is the value that is neither the minimum nor the maximum.
     * Formula:
     *     median = a + b + c - min(a, b, c) - max(a, b, c)
     */
    public static int medianOfThreeNumbers(int a, int b, int c) {

        // Determine the minimum of the three numbers
        int min = a;
        if (b < min) min = b;
        if (c < min) min = c;

        // Determine the maximum of the three numbers
        int max = a;
        if (b > max) max = b;
        if (c > max) max = c;

        // The median is the remaining value
        return a + b + c - min - max;
    }

    public static void main(String[] args) {

        // Test cases
        System.out.println("The median of [1, 1, 1] is " +
                medianOfThreeNumbers(1, 1, 1));

        System.out.println("The median of [10, 3, 7] is " +
                medianOfThreeNumbers(10, 3, 7));

        System.out.println("The median of [10, -10, -10] is " +
                medianOfThreeNumbers(10, -10, -10));

        System.out.println("The median of [3, 3, 5] is " +
                medianOfThreeNumbers(3, 3, 5));
    }
}



/*
run:

The median of [1, 1, 1] is 1
The median of [10, 3, 7] is 7
The median of [10, -10, -10] is -10
The median of [3, 3, 5] is 3

*/

 



answered Mar 26 by avibootz
...