Найти минимум из 4х чисел

Поставили такую задачу: найти минимум из 4х чисел.

Не использовать Math.min и !Функция min(a,b,c,d) должна использовать (вызывать) функцию min(a,b).

Мой код работает, но функцию min(a, b) не вызывает.

Как это сделать лучше всего?

P.S. пробовал писать if (min (a, b) < c & d), но пишет ошибка.

P.P.S. и почему я пишу столько раз return?

public class Solution {
    public static int min(int a, int b, int c, int d) {
        if (a < b & a < c & a < d)
            return a;
        if (b < a & b < d & b < c)
            return b;
        if (c < b & c < a & c < d)
            return c;
        if (d < b & d < c & d < a)
            return d;
        return a;
    }

    public static int min(int a, int b) {
        if (a < b)
            return a;
        if (b < a)
            return b;
        return a;
    }

    public static void main(String[] args) throws Exception {
        System.out.println(min(-20, -10));
        System.out.println(min(-40, -10, -30, 40));
        System.out.println(min(-20, -40, -30, 40));
        System.out.println(min(-20, -10, -40, 40));
        System.out.println(min(-20, -10, -30, -40));
    }
}

Ответы (1 шт):

Автор решения: Alexey R.

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

class Min {
    public static void main(String[] args) {
        System.out.println(min(-20, -10));
        System.out.println(min(-40, -10, -30, 40));
        System.out.println(min(-20, -40, -30, 40));
        System.out.println(min(-20, -10, -40, 40));
        System.out.println(min(-20, -10, -30, -40));
    }

    public static int min(int a, int b, int c, int d){
        return min(min(a, b), min(c, d));
    }

    public static int min(int a, int b){
        return a < b ? a : b;
    }
}
→ Ссылка