Написать метод, который вычисляет факториал — произведение всех чисел от 1 до введенного числа включая его.
Пример вычислений: 4! = factorial(4) = 1*2*3*4
Пример вывода: 24
1. Ввести с консоли число меньше либо равно 150.
2. Реализовать функцию factorial.
3. Если введенное число меньше 0, то вывести 0.
0! = 1
Требования:
1. Программа должна считывать данные с клавиатуры.
2. Программа должна выводить на экран факториал введенного числа.
3. Метод factorial должен возвращать строковое представление факториала числа переданного ему в качестве параметра.
4. Метод factorial должен принимать один параметр типа int.
1. не понятно что такое "0! = 1" . Я решил, что если ввести ноль, то программа должна вывести единицу. 2. не понятно что произойдёт если ввести число больше 150. 2.1. при этом вроде как сначала нужно убедиться что число <=150, а потом уже запускать метод factorial. Но в задаче прямо указано, что код следует писать внутри метода factorial. Поэтому проверку на 150 сделал уже в методе. В общем условие не очень понятное. 3. Посмотрел как она решается другими. Задача проходит валидацию без проверки на <=150 и с применением BigInteger. Как это понимать?
public static void main(String[] args) throws IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

        int input = Integer.parseInt(reader.readLine());
        reader.close();

        System.out.println(factorial(input));
    }

    public static String factorial(int n) {
        //add your code here
        long result = 1;


        if (n<=150) {
            if ( n < 0) return "0";
            else if (n == 0 ) return "1";
            else {
                for (int i = 1; i <= n; ++i)
                    result *= i;
            }
            return String.valueOf(result);
        }

        return "";
    }