Получает одно целое число и возвращает факториал переданного числа - PullRequest
0 голосов
/ 10 марта 2019

Создание двух отдельных пакетов математики и приложения.С классом MathHelper и Application в любом из них.Мне нужно добавить статический метод в класс MathHelper.java с именем factorial (int), который получает одно целое число и возвращает факториал переданного числа.Основной метод добавляется в приложение, вызываемое и вызывающее Mathhelper.factorial.Это код, который у меня есть ...

public class Application {

    public static void main(String[]args) {

       System.out.println(MathHelper.doubleInt((9)));   
    }
}

public class MathHelper {
    public static void main(String[]args) {
    }
    public static int fact(int factNum) {
        if (factNum==1) {   
            return 1;
        }
        else {
            return factNum + (fact(factNum - 1));
        }
    }
}

1 Ответ

0 голосов
/ 10 марта 2019

Вы можете рассчитать факториал используя:

петли:

public long fact(int factNum) {
    long fact = 1;
    for (int iteration = 2; iteration <= factNum; iteration++) {
        fact = fact * iteration;
    }
    return fact;
}

потоки:

public long fact(int factNum) {
    return LongStream.rangeClosed(1, factNum)
            .reduce(1, (long fact, long iteration) -> fact * iteration);
}

рекурсия:

public long fact(int factNum) {
    if (factNum <= 2) {
        return factNum;
    }
    return factNum * fact(factNum - 1);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...